我的朋友要我这样做。
他需要阻止他的孩子去某些网站。
他有篡改猴子安装铬。我必须在篡改猴子中制作一个脚本,以便当它到达网站时它将改变网络内容。
源代码是:
// ==UserScript==
// @name My Fancy New Userscript
// @namespace http://use.i.E.your.homepage/
// @version 0.1
// @description enter something useful
// @match http://www.harmful-website.com/*
// @copyright 2012+, You
// ==/UserScript==
document.write("<b>You are not allowed to visit this site</b>");
此脚本仅在网站加载完毕后才有效。但他的孩子们停止在中间加载网站,他们可以查看其中的一部分。
加载后,偶数document.onload=function(){document.write("...");}
即可运行。是否有任何方法可以在加载文档之前运行脚本,即在地址栏上键入网址或单击超链接后立即执行。
答案 0 :(得分:1)
您的代码可以使用,您只需设置@run-at document-start
Doc,就像这样:
// ==UserScript==
// @name site blocker
// @match http://www.harmful-website.com/*
// @run-at document-start
// ==/UserScript==
document.write ("<b>You are not allowed to visit this site</b>");
重要:强>
这将在Chrome和Tampermonkey上运行 for now ,但在其他浏览器上无效。例如,在Firefox上,document.write
调用将抛出错误:
错误:操作不安全。
(但页面仍然完全空白。)
虽然像这样的用户可以(大多数情况下)工作;它是一种klugey,脆弱,低性能的方法,很容易被击败。以下是一些更好,更快,更容易,更难以让精明的孩子更加努力的方法:
答案 1 :(得分:0)
定义后立即调用该函数。喜欢在标题或somehwere。
但是,您需要考虑该函数是否具有它所需的所有内容,如页面上的HTML元素(如果它访问其中任何一个),因为在调用函数时不一定会加载这些元素。
答案 2 :(得分:0)
逐行解析HTML文件。所以,如果你写你的&lt;脚本&gt;就在&lt; html&gt;标记它将在其他任何事情之前执行。