JQuery - ScrollTop无法在Chrome扩展程序中使用

时间:2016-03-01 01:44:43

标签: javascript jquery google-chrome-extension

我一直试图解决这个问题一段时间了,但我已经结束了,并放弃了所有的希望。

这是我的解压缩的Chrome扩展程序:nexrem.com/test/extension-test2 - Copy.zip

图表A:

  • 导航到模板文件夹
  • 在Chrome中运行test.html
  • 点击“页脚链接”
  • 观察它正确滚动到页脚

图表B:目前,该扩展基本上取代了页面上的整个html。

  • 安装解压缩的扩展程序
  • 转到某个网站(为了测试,一个没有填充各种脚本的网站。或者只是制作一个本地空白的html文件)
  • 点击chrome中的扩展程序图标

您将看到与仅运行test.html时完全相同的页面;但是, jquery滚动不再有效。我不明白为什么。

如果有人能向我解释这个问题,协助解决方案或至少指出正确的方向,我将非常感激!

1 个答案:

答案 0 :(得分:1)

根据load

  

jQuery使用浏览器的.innerHTML属性来解析检索到的文档并将其插入到当前文档中。在此过程中,浏览器通常会过滤文档中的元素,例如<html><title><head>元素。因此,.load() 检索到的元素可能与浏览器直接检索文档的内容不完全相同

在点击浏览器操作后深入挖掘html代码后,似乎不包含body标签。

您可以使用以下代码load

    var template = chrome.extension.getURL('template/test.html');
    console.log(template);

    $.get(template, function(data) {
        document.open();
        document.write(data);
        document.close();
        $.cache = {};
    }, "text");