2011-01-26 39 views
2

我搜索了四周,但无法找到答案。JQuery生成的小书签不在某些网站上运行

我已经使用了优秀的书签教程http://www.smashingmagazine.com/2010/05/23/make-your-own-bookmarklets-with-jquery/,它展示了如何使用JQuery来引发iframe。它在当前页面附加一个块,检查JQuery,然后使用jQuery命令触发一个iframe。它工作出色,但我发生在posterous.com上,它不工作。为了演示,请进入教程(http://www.smashingmagazine.com/2010/05/23/make-your-own-bookmarklets-with-jquery/),找到“WikiFrame”书签(关于在页面的一半位置),将其拖动到浏览器工具栏,然后通过选择一些文本并单击书签在另一个站点上尝试。它很好用 - 它弹出维基百科页面的iframe。

但是,在posterous.com上,它什么都不做。脚本块被添加到页面中,但不会触发。

任何有关为什么的想法?

回答

2

该教程的wikiframe小书签中存在一个错误。

它测试以查看jQuery对象是否存在,但接着使用$。在posterous.com上,$不等于jQuery。

if (typeof jQuery == 'undefined') { 
     //... 
} else { 
     runthis(); 
} 

function runthis() { 
    if ($("#wikiframe").length == 0) { 
      //... 

的解决方案是使用而不是$ jQuery的,或别名$ jQuery的使用类似

(function($){ ... })(jQuery) 
+0

真棒,谢谢atnnn,我应该自己发现的!再次感谢 – pinksy 2011-01-26 23:09:45

相关问题