【发布时间】:2012-04-25 10:21:37
【问题描述】:
大家好。
我目前正在尝试为 Chrome 浏览器开发扩展程序,但遇到了问题。
我的扩展可以工作,但是集成的 JS 功能只能在页面加载或刷新时工作。 但是在浏览的时候,当返回页面或者文字要修改的时候,JS功能就不再适用了:cry:
这是一个更好地解释我自己的例子;) 功能是用另一个文本替换文本:
manifest.json:
{
"content_scripts": [ {
"js": [ "content.js", "init.js" ],
"matches": [ "http://battlelog.battlefield.com/*" ],
"run_at": "document_end"
} ],
"name": "My Extension",
"author" : "Tesla",
"version": "1.0",
"description": "DESCRIPTION COMING !",
"key": "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALuyMQ/qwguwISXI8lDNIyQQyuQHQIqLRTekDDomL/UlEv2pWvUKtbnj3yMvNsXu/4KGzKZvcDmCD1W2mEXjk8vrm7rEt3AqXsWooSuqRlWJ3vqiB5/mtA+Hac2whiUSqylC5FJH6LbWNjYAAcHyVxif83GRWfxwPVHFiyQTt5hDAgMBAAECgYEAqYwNRZOKNYSkbL1YJiUn2SxSGily47Nqkxhc8yoLqCYVQY352+AQyBpPNjkwARwjMoUR2EZR2aDiuUp3wqoQllRzLHR61jjUtg+0X5RSgQlIbB/GFVns9/7DqXRBcY5RTmMQZ9H53UrIIfZ9fdwZyQ4yOAc2rv14YnwjjZlU/gECQQD6cjUJv7Ps891z2e0lHE2XALIdpaRa4Q5Isx6GairJKlzv722zK2/ftECE1VV+rElwtEw+teCRI7K8Cawx60iHAkEAv9u/9Fz7ZM7j5bgYSkZx043K+PT8yqNTQKtwpwSRDShje8iQkzW9HjLjxlC6qc8uN0sE+H48TaHslCJ/pQntZQJBAM8sDG3NFASuUoGUQ5TQTerc23qk3EmFJHDFIzojttMD5S9hy0hMZVYTYM/BPeD0mifOLcguYd8OPbtI8RW2QR8CQBb9UQIKBkGtHNfQ+HAmAsuzyOeOC6CIc5hjMquAu5TVCx6xCMnq/Y9Zz7tavxNL9SDBB4ZzMeyng364p4zyJJUCQG2GRV0BiZfcxhT7/YV+E+t037pV/NisdXomDgCbSBpkN/gls0wI/6MkhlrU6YmfaZ/hG2QtGs7VCKRJ8fI36Nw=",
"minimum_chrome_version": "14.0"
}
content.js:
var head = document.getElementsByTagName("head")[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = chrome.extension.getURL('main.js');
head.appendChild(script);
var css = document.createElement('link');
css.type = 'text/css';
css.rel = 'stylesheet';
css.href = chrome.extension.getURL('main.css');
head.appendChild(css);
main.js:
var modif = {
change: 'Text-Change'
};
var original = {
change: /Leaderboards/gm,
};
$(document).ready(function() {
$('.base-middle').each(function() {
var $p = $(this);
var html = $p.html();
$p.html(html.replace(original.change, modif.change));
});
});
函数必须编辑文本:
排行榜
在
文本更改
在这个页面上:http://battlelog.battlefield.com/bf3/leaderboard/
无需每次都刷新页面。
如果有人可以帮助我? 谢谢 ;) 特斯拉
编辑/ 我在此消息后发布了回复
【问题讨论】:
-
您遇到的问题是该页面是 AJAX 驱动的。因此,在页面加载后,您单击其中一个选项卡,它不会重新加载页面,而是使用 XMLHttpRequest 获取新页面的内容并将其插入到当前加载的页面中。如何处理这个问题我仍然不确定。我正在为您查看它,但突然之间该链接得到了 404。
-
编辑/我在此消息后发布了回复