userscript是否适用于localhost html文件

时间:2012-04-17 12:26:00

标签: javascript dom userscripts

我有一个html文件,即“ http://localhost:8084/WebApplication1/example.html

此文件包含以下内容

<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>HELLO WORLD</div>
<script type="text/javascript">
    var f = document.createElement("div");
    f.innerHTML="sfsdfsdfsdfsdf";
    document.body.insertBefore(f, document.body.firstChild);
    document.write("<a href='http://www.google.com'>sada</a> ");
   console.log("Program")
</script>
</body>
</html>

当我在此页面中使用提及here的用户脚本时,它未显示已创建的div标记。这是我的localhost的问题

我写的用户脚本取自LINK --- PLEASE GO THROUGH THIS您将找到addJS_Node函数

2 个答案:

答案 0 :(得分:1)

这样做:

<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
    <div>HELLO WORLD</div>
    <script type="text/javascript">
        var f = document.createElement("div");
        f.innerHTML="sfsdfsdfsdfsdf";
        document.body.insertBefore(f, document.body.firstChild);
        document.write("<a href='http://www.google.com'>sada</a> ");
        //document.body.innerHTML="<a href='http://www.google.com'>sada</a> ";
    </script>
</body>
</html>

您需要在某处插入新创建的元素,即在body元素内部。所以我不得不将脚本移动一点,所以身体存在。另请注意,我使用innerHTML属性注释掉了你的行,以便不覆盖body标签中的内容。

它将在localhost上运行,因为您的问题与本地运行之间没有任何关联。

答案 1 :(得分:1)

除了the issues that Carlos pointed out之外,它的代码似乎还不够快,无法在简单的本地页面上捕获所有内容。对于那个很抱歉。当我测试它时,我使用了我的测试服务器。

如果您将脚本指向Carlos's version of the test page, hosted at jsBin,则该脚本会捕获createElement()次调用。

这是一场比赛,这就是Greasemonkey能做的最好的事情。作为already stated (7th comment down),Greasemonkey不是您正在尝试的工作的最佳工具。