【发布时间】:2012-06-13 13:56:51
【问题描述】:
我有一个使用 jQuery 的代码,它检查是否点击了正确的图像,然后根据答案是否正确将图像更改为红色或绿色。之后,它会等待 2 秒并重新加载页面以显示下一个图片对。单独使用它工作得很好,但是一旦我把它放在 facebook 应用程序中,它就不能正常工作了。
在 IE 和 Firefox 中,它会在单击时更改颜色,但不会重新加载页面。然而,在 chrome 中,它甚至不会改变点击时的颜色。可能是 iframe 的问题还是什么?在 iframe 中使用 jQuery 时需要特定参数吗?
我的代码摘录如下:
jQuery(document).ready(function(){
jQuery('img#0').live("click", function(){
if (jQuery(this).hasClass("correct")){
jQuery(this).attr('src', "0g.png");
} else{
jQuery(this).attr('src', "0r.png");
}
});
});
如您所见,我什至将 $ 更改为 jQuery 以防止与其他可能的库发生冲突。
有什么想法可以让它发挥作用吗?
【问题讨论】:
-
浏览器的错误控制台显示什么?
-
控制台没有显示任何错误
-
其实Chrome控制台显示:Uncaught ReferenceError: jQuery is not defined。我需要找出如何定义它,因为我已经成功地将
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>包含在我的代码中。 -
@LukasBijaminas 这就是定义 jQuery 所需的全部内容。这可能是通过 https 传输的内容的问题,但 jQuery 请求是通过 http 传递的。在这种情况下,您可以使用protocol-relative URL,例如
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>。 Paul 的文章还提供了从服务器加载 jQuery 的备用方法。
标签: jquery facebook google-chrome facebook-apps