Javascript Bookmarklet只能直接在源代码上工作

Javascript Bookmarklet只能直接在源代码上工作,javascript,bookmarklet,Javascript,Bookmarklet,我有一个简单的bookmarklet,它可以替换网站源代码的所有实例。 这是bookmarklet: javascript:(function() {document.body.innerHTML = document.body.innerHTML.replace(/outer_page only_ie6_border blurred_page/g, "outer_page only_ie6_border"); }()); 这是其替换的网站源代码的一部分: <div class="out

我有一个简单的bookmarklet,它可以替换网站源代码的所有实例。 这是bookmarklet:

javascript:(function() {document.body.innerHTML = document.body.innerHTML.replace(/outer_page only_ie6_border blurred_page/g, "outer_page only_ie6_border"); }());
这是其替换的网站源代码的一部分:

<div class="outer_page only_ie6_border blurred_page"
id="outer_page_8"
style="width:902px; height:1297px; ">


问题是,如果我只是去网站点击书签,它就不起作用了(页面会像重新加载一样闪烁,但不会改变)。但是,如果我去网站,打开源代码(ctrl+U),单击书签,将所有源代码复制到一个txt文件,另存为html,然后打开它,它就会起作用。

尝试运行这样一个简单的代码:
javascript:(函数({alert(document.body.innerHTML.match(/outer_page only_ie6_-page/);})();
返回什么?仅供参考:(1)由于“内容安全策略”,某些网站(如“LinkedIn”等)似乎不允许执行bookmarklet;(2)DOM可能与您网页的源代码完全不同。我尝试了您的代码,但我不得不做两个更改:函数后缺少右括号,函数后缺少“g”“…fuzzle_page/”。我想我理解你想用这些代码测试什么,所以我做了多次测试。针对网站或源代码运行代码直接产生相同的结果(一个包含大量合法匹配的数组)。在运行my bookmarklet后运行它会导致网站和源代码都为空。关于你的LinkedIn评论,网站是否有办法阻止它,同时可以打开编辑的html?缺少括号是我的输入错误,很抱歉。我不清楚你的意思是什么“同时可以打开已编辑的html“。到目前为止,我知道在‘LinkedIn’等网站上编辑html的唯一方法是借助‘iMacros for Firefox’,这是一个有用的免费附加组件。我的意思是,目前我无法实时编辑html。但是,下载编辑html的纯文本源代码并在浏览器上打开它是可行的(包括加载动态内容、登录页面等)。我如何知道我试图使用bookmarklet编辑的页面是否会阻止它?在这种情况下,你甚至不能运行一个非常简单的bookmarklet(例如,提醒某件事)-它什么也不做。尝试在你的LinkedIn页面上测试这一点。不过,你应该编辑html(但不知道有没有可能),所以我的建议是为你的任务应用更高级的工具并享受它们…试着运行一个简单的代码如下:
javascript:(函数({alert(document.body.innerHTML.match(/outer_page only_ie6_border muzzle_page/);})(
它会返回什么?仅供参考:(1)一些网站(如“LinkedIn”等)由于“内容安全策略”,似乎不允许执行bookmarklet;(2)DOM可能与您网页的源代码完全不同。我尝试了您的代码,但我不得不做了两个更改,一个是在函数后缺少右括号,另一个是在“…fuzzle\u page/”后加上“g”。我想我理解你想用这些代码测试什么,所以我做了多次测试。对网站或源代码直接运行这些代码会产生相同的结果(一个包含大量合法匹配的数组)。在运行my bookmarklet后运行它会导致网站和源代码都为空。关于你的LinkedIn评论,网站是否有办法阻止它,同时可以打开编辑过的html?一个缺少的括号是我的打字错误,很抱歉。我不清楚你的意思“同时,可以打开已编辑的html“。到目前为止,我知道在‘LinkedIn’等网站上编辑html的唯一方法是借助‘iMacros for Firefox’,这是一个有用的免费附加组件。我的意思是,目前我无法实时编辑html。但是,下载编辑html的纯文本源代码并在浏览器上打开它是可行的(包括加载动态内容、登录页面等)。我如何知道我试图使用bookmarklet编辑的页面是否会阻止它?在这种情况下,你甚至不能运行一个非常简单的bookmarklet(例如,提醒某件事)-它什么也不做。尝试在你的LinkedIn页面上测试这一点。不过,你应该编辑html(但不知道可能性),所以我的建议是为你的任务应用更先进的工具并享受它们。。。