Javascript JQuery生成的bookmarklet未在某些网站上运行
我到处找了,但找不到答案 我使用了优秀的bookmarklet教程,其中展示了如何使用JQuery抛出iframe。它向当前页面追加一个块,检查JQuery,然后使用JQuery命令触发iframe。它工作得非常出色,但我碰巧遇到了posterous.com,它在那里不起作用 要演示,请转到教程(http://www.smashingmagazine.com/2010/05/23/make-your-own-bookmarklets-with-jquery/),找到“WikiFrame”书签(大约在页面的一半处),将其拖到浏览器工具栏上,然后通过选择一些文本并单击书签在另一个站点上试用。它工作得很好——它会弹出维基百科页面的iframe 然而,在posterous.com上,它什么也没做。脚本块被添加到页面中,但不会触发Javascript JQuery生成的bookmarklet未在某些网站上运行,javascript,jquery,iframe,bookmarklet,Javascript,Jquery,Iframe,Bookmarklet,我到处找了,但找不到答案 我使用了优秀的bookmarklet教程,其中展示了如何使用JQuery抛出iframe。它向当前页面追加一个块,检查JQuery,然后使用JQuery命令触发iframe。它工作得非常出色,但我碰巧遇到了posterous.com,它在那里不起作用 要演示,请转到教程(http://www.smashingmagazine.com/2010/05/23/make-your-own-bookmarklets-with-jquery/),找到“WikiFrame”书签(大
有人想知道为什么吗?该教程中的wikiframe bookmarklet中有一个bug 它测试jQuery对象是否存在,然后继续使用$。在posterous.com上,$不等于jQuery
if (typeof jQuery == 'undefined') {
//...
} else {
runthis();
}
function runthis() {
if ($("#wikiframe").length == 0) {
//...
解决方案是使用jQuery而不是$,或者使用类似
(function($){ ... })(jQuery)
太棒了,谢谢你,我早该发现的!感谢您再次遇到同样的问题,并以同样的方式解决,之后发现此问答!