首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要使用铬扩展名替换特定域页上的javascript字符串

问需要使用铬扩展名替换特定域页上的javascript字符串
EN

Stack Overflow用户
提问于 2013-08-04 23:41:14
回答 1查看 927关注 0票数 0

试图使用铬扩展名替换特定域页上的javascript字符串。

以下是我到目前为止所拥有的:

manifest.json文件(当然不是整个文件)

代码语言:javascript
复制
"permissions": [ "tabs", "cookies", "http://*/*" ],
"background": {
    "page": "background.html"
},

background.html文件

代码语言:javascript
复制
<script type="text/javascript" src="js/replace.js"></script><br>

js/replace.js文件

代码语言:javascript
复制
if (window.location.href.indexOf('http://somedomain.com/page') != -1) {
    var str="javascriptstring = javascriptstring('javascriptstring');";
    var n=str.replace("aaaaaaaaaaaaa;");
}

当我打开页面时,页面上什么都不会发生。我查看Page,但是没有任何东西被替换。

​

我尝试用以下代码替换js/replace.js文件来测试它:

代码语言:javascript
复制
if (window.location.href.indexOf('http://somedomain.com/page') != -1) {
    alert("Hello World!");
}

但是,在加载页面时,没有任何警报会弹出“问候世界”。这意味着,除非我把Hello的javascript写错了,否则脚本可能不会在页面上运行。

我做错什么了?

附注:我的扩展的其余部分(与此无关)工作得很好。

更新:

我尝试了另一种方法,也就是不工作

代码语言:javascript
复制
loc = window.location.href;
match = loc.match(/somedomain\.com\/page);
if(match)
    window.location = loc.replace(bsa, "aaaaa");

更新二:

我尝试了这段代码,并使用内容脚本代替在清单中定义的内容脚本来只在这个URL上运行这个文件。

代码语言:javascript
复制
loc = window.location.href;
    alert("Hello World!");

获得Hello弹出页面的成功;现在让我们尝试进行替换。

更新三:

我得到Hello弹出,这意味着脚本正在运行,但是代码没有被替换。

TRY 1:

代码语言:javascript
复制
loc = window.location.href;
alert("Hello World!");
window.location = loc.replace(texttext, "aaaaa");

结论:

“你好世界”弹出:成功

代码替换:失败

--

TRY 2:

代码语言:javascript
复制
loc = window.location.href;
alert("Hello World!");
loc.replace(texttext, "aaaaa");

结论:

“你好世界”弹出:成功

代码替换:失败

--

TRY 3:

代码语言:javascript
复制
loc = window.location.href;
alert("Hello World!");
texttext = "aaaaa";

结论:

“你好世界”弹出:成功

代码替换:失败

--

TRY 4:

代码语言:javascript
复制
loc = window.location.href;
alert("Hello World!");
var str="texttext";
var n=str.replace("texttext","aaaaa");

结论:

“你好世界”弹出:成功

代码替换:失败

所以还是没什么好处。我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2013-08-05 00:01:28

您将希望为此使用内容脚本,这是文档scripts.html。您还错误地使用了“替换()”方法。该方法只更改您要应用它的任何变量的值,在您的示例中是"str“。如果要更改"javascriptstring“的值,只需将

代码语言:javascript
复制
javascriptstring = 'javascriptstring';

在js文件中,希望在特定域加载时运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18048746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档