javascript - 使用 Greasemonkey 脚本将框架添加到网页底部(并设置其大小)?

标签 javascript jquery iframe cross-domain greasemonkey

有没有办法使用 Greasemonkey 脚本将框架添加到网页底部?

我想编写一个脚本,在每个网页底部的框架内添加 http://www.google.com
我还希望框架的宽度和高度与其内部页面的高度相同。

最佳答案

这是 3 个问题合而为一的问题。

  1. 添加 <iframe>本身很简单:

    $(document.body).append (
        '<iframe src="http://{SOME_PAGE_BESIDES_GOOGLE!}.com/">'
    );
    


  2. 但是, Google will not let you load it in an <iframe> -- 通过各种技巧和服务条款来阻止这种情况。
    许多其他站点(包括 Stack Exchange 站点)也阻止 iframe 内的操作。 .

  3. 您有可能在 <object> 中加载框架阻止的页面。 , 当且仅当目标页面服务器具有 Cross-origin resource sharing (CORS)设置为允许。

    可以肯定的是,您的目标页面没有以这种方式设置 CORS。 ;-) 但是,如果他们这样做了,那么代码将如下所示:

    $(document.body).append ( '                                     \
        <object type="text/html" data="http://www.google.com/">     \
        </object>                                                   \
    ' );
    


  4. 最后,对于那些您可以实际加载 <iframe> 的情况(或 <object> ),您需要从加载的 iframe 将页面大小传达回容器/主/目标页面。

    为此,请参阅 How can two instances of a userscript communicate between frames? .



对于每个页面上的 Google,最好的选择是使用 the Google Custom Search API .

关于javascript - 使用 Greasemonkey 脚本将框架添加到网页底部(并设置其大小)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13965834/

相关文章:

iframe - Greasemonkey 使用 @include 对抗 iframe - 这有效吗?

javascript - ng-click 事件显示未定义

jquery - 隐藏 Select2 选项

javascript - 带有 slimscroll 的水平滚动条

jquery - 如何调用iframe的unload事件

javascript - 如何动态调整 iFrame 的大小(跨浏览器解决方案)

javascript - 正则表达式替换值和字符之间

javascript - 按点击 Javascript 的顺序打印所有按钮

javascript - 为什么 UnderscoreJS 有很多原生 Javascript 函数的包装函数?

javascript - 如何在 Angular JS Web 应用程序中使用 ckeditor?