0

我有一个 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>

当我使用此页面中提到的用户脚本时,它没有显示创建的 div 标签。这是我的本地主机的问题吗

我写的用户脚本取自这个链接---请通过这个你会发现这个addJS_Node功能

4

2 回答 2

1

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

如果您将脚本指向托管在 jsBin 的 Carlos 版本的测试页面,则脚本会在这种情况下捕获createElement()调用。

这是一场比赛,而这正是 Greasemonkey 所能做的最好的事情。如前所述(第 7 条评论),Greasemonkey 不是您尝试做的工作的最佳工具。

于 2012-04-17T13:27:33.343 回答
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 标记中已有的内容。

它将在本地主机上运行,​​因为您的问题与本地运行之间没有联系。

于 2012-04-17T12:35:50.687 回答