再一次,这些错误中的另一个......
在尝试之前我试过要解决这个问题,但找不到任何可以解决这个问题的方法。
所以我有:( 更新)
<script type="text/javascript">
$(function(){
$('.episodes').live('click',function(){
var id = $(this).attr('id').replace('episode_',''),
width = 730,
height = 645;
if(id == 3){
width = 635;
height = 790;
}
ColdFusion.Window.create('Episode_'+id,'','/landing_pages/superhero/episode'+id+'.cfm',{width:width,height:height,center:true,draggable:false,resizable:false,modal:true});
});
});
</script>
我已尝试转义“text \ / javascript”和&lt; \ / script&gt; ,但它要么根本不起作用而且不显示错误因为它不会将其识别为javascript语句或它将继续抛出错误。
Firebug说问题是:var id = $(this).attr('id').replace('episode_',''),
,但我没看到那可能是个问题。
我正在考虑在底部的create方法中转义 / ,但我不认为它会有所作为,因为它显示错误位于顶部。
谢谢!
(适用更新) 我已经用分号问题尝试了所有答案,但它没有用。没有任何影响。还有其他想法吗?
我实际上将它粘贴到CMS中,它将通过SQL然后在我的文章中输出。我不明白为什么会引起问题,但我想这是另一回事。
使用FIX更新 错误是使用单引号。不得不将所有单引号更改为双引号。显然,当你将它插入数据库时,你必须要做的事情。
最终代码是:
<script type="text/javascript">
$(function(){
$(".episodes").live("click",function(){
var id = $(this).attr("id").replace("episode_",""),
width = 730,
height = 645;
if(id == 3){
width = 635;
height = 790;
}
ColdFusion.Window.create("Episode_"+id,"","/landing_pages/superhero/episode"+id+".cfm",{width:width,height:height,center:true,draggable:false,resizable:false,modal:true});
});
});
</script>
答案 0 :(得分:5)
尝试使用分号:
<script type="text/javascript">
$(function(){
$('.episodes').live('click',function(){
var id = $(this).attr('id').replace('episode_',''),
var width = 730,
var height = 645;
if(id == 3){
width = 635,
height = 790;
}
ColdFusion.Window.create('Episode_'+id,'','/landing_pages/superhero/episode'+id+'.cfm',{width:width,height:height,center:true,draggable:false,resizable:false,modal:true})
});
});
</script>
答案 1 :(得分:4)
错误意味着$('.episodes').live('click',function(){
中的单引号之一不是单引号而是其他内容(可能是后引号)。
尝试用双引号("
)替换所有这些,因为ASCII编码只包含一个双引号但有三个不同的单引号(''`)。
答案 2 :(得分:2)
问题存在于
中var id = $(this).attr('id').replace('episode_',''),
width = 730,
height = 645
因为它最后需要分号,而不是逗号。
var id = $(this).attr('id').replace('episode_',''),
width = 730,
height = 645;
中的其他内容也是如此
if (id == 3) {...
答案 3 :(得分:2)
你的语法错了,javascripts使用了;终止声明
这是正确的解决方案
$('.episodes').live('click', function() {
var id = $(this).attr('id').replace('episode_', '');
var width = 730;
var height = 645;
if (id == 3) {
width = 635;
height = 790;
}
ColdFusion.Window.create('Episode_' + id, '', '/landing_pages/superhero/episode' + id + '.cfm', { width: width, height: height, center: true, draggable: false, resizable: false, modal: true });
});
修改强>
我很糟糕,你的语法也是对的。
答案 4 :(得分:0)
当我检查JsLint中的代码时,它不会抱怨任何未终止的字符串,只是在每个语句的末尾省略了分号。然而,这可能会产生一些意想不到的后果,因此很可能是错误消息的原因。
在每个语句的末尾加上分号:
<script type="text/javascript">
$(function(){
$('.episodes').live('click',function(){
var id = $(this).attr('id').replace('episode_',''),
width = 730,
height = 645;
if(id == 3){
width = 635;
height = 790;
}
ColdFusion.Window.create('Episode_'+id,'','/landing_pages/superhero/episode'+id+'.cfm',{width:width,height:height,center:true,draggable:false,resizable:false,modal:true});
});
});
</script>