javascript - JQuery 生成的小书签未在某些网站上运行

标签 javascript jquery iframe bookmarklet

我四处搜索,但找不到这个问题的答案。

我在 http://www.smashingmagazine.com/2010/05/23/make-your-own-bookmarklets-with-jquery/ 上使用了出色的小书签教程它显示了如何使用 JQuery 抛出一个 iframe。它将一个 block 附加到当前页面,检查 JQuery,然后使用 jQuery 命令触发 iframe。它工作得很好,但我偶然发现了 posterous.com,它在那里不工作。

为了演示,请转到教程 (http://www.smashingmagazine.com/2010/05/23/make-your-own-bookmarklets-with-jquery/),找到“WikiFrame”书签(大约一半在页面下方),将它拖到浏览器工具栏,然后通过选择一些文本并单击小书签在另一个站点上试用它。效果很好——它会弹出维基百科页面的 iframe。

但是,在 posterous.com 上,它什么也不做。脚本 block 已添加到页面,但不会触发。

有人想知道为什么吗?

最佳答案

该教程中的 wikframe 书签有一个错误。

它测试 jQuery 对象是否存在,然后继续使用 $.在 posterous.com 上,$ 不等于 jQuery。

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

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

解决方案是使用 jQuery 而不是 $,或者使用类似于

的东西将 $ 别名到 jQuery
(function($){ ... })(jQuery)

关于javascript - JQuery 生成的小书签未在某些网站上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4810563/

相关文章:

asp.net - Iframe 登录超时

javascript - 仅使用 jquery 或 javascript 的条件下拉列表

java - 未签名的小程序套接字 JavaScript

javascript - 从文本区域运行 javascript n 次

javascript - 销毁事件不会从 Backbone 模型传播到 Backbone 集合

javascript - 如何通过js打开选择文件对话框?

Javascript正则表达式匹配逻辑或

javascript - 在没有序列化的情况下在主窗口和窗口之间共享数组

css - 页面左侧的 Facebook iframe

javascript - 将图像和视频动态适配到 iframe 中