0

当 yepnope(默认捆绑在 Modernizr 中)用于@runs-at document-start的 GreaseMonkey 用户脚本时,整个用户脚本将失败,并出现错误“n 未定义”,这意味着“firstScript 未定义”的最大化。

实际上,它指的是以下行: insBeforeObj = isGeckoLTE18 ? docElement : firstScript.parentNode,

4

1 回答 1

0

由于在 GreaseMonkey 文档开始时尚未加载 DOM,因此失败。

解决方法 1:不要将 yepnope 与 Modernizr 一起使用,这不是强制性的。

解决方法 2:在文档末尾运行 Modernizr/yepnope。这可能是您开始操作 DOM 的地方,不是吗?

document.addEventListener('DOMContentLoaded', _runAtDocumentEnd, false);

function _runAtDocumentEnd() {

/* insert Modernizr/Yepnope library here */

}

解决方法 3:在文档末尾运行。但是由于您明确希望在文档开始时运行它,这可能不是一个可接受的解决方法。

于 2013-06-02T13:06:05.783 回答