我是新手,所以请耐心等待。我正在尝试编写一个执行以下操作的chrome扩展名:
脚本设置为在文档开始时运行(在清单中)。
这是我的代码:
检测网址:
var regExp = /website.com/gi;
var match = 0;
testString = window.location.href.toString();
if(regExp.test(testString) {
match = 1;
使用带有UTF8编码标记的URL链接写入空白文档:
document.write("<a href=" + window.location.href + "?ie=UTF8>Title of Link</a>");
这不能按预期工作,只显示一个空白页面。有人有什么想法吗?
谢谢!
编辑:这是完整的代码:
checklink(); // If there is a match, then checklink will return a 1. If it's already tagged, it will return a 5.
var matchLink = null;
if (checklink() === 1) {
matchLink = window.location.href.toString();
if (checklink() != 1) {
matchLink = null;
function checklink() { //checks to see if the current URL matches website.com
var regExp = /website.com/gi,
testString = window.location.href.toString(),
match = 0,
tagged = 0;
if (regExp.test(testString)) { //if there is a match, returns 1
match = 1;
var regExp2 = /UTF8/gi;
if (regExp2.test(testString)) { //if UTF8 is found, then it returns 5
tagged = 5;
return(match + tagged);
function tagUTF() {
if (matchLink) {
var newLink = matchLink + "?ie=UTF8";
document.write("<a href=\"" + newLink + "\">Link</a>");
if (matchLink) {
tagUTF();
}
答案 0 :(得分:1)
chrome内容脚本可以访问DOM,因此您可以使用dom操作方法或innerHTML替换当前页面的body元素的内容,其中包含锚标记的新节点:
document.body.innerHTML = "<a href=" + window.location.href + "?ie=UTF8>Title of Link</a>";
请注意,这假设正在为您的Chrome扩展程序正确添加正在执行DOM操作的JavaScript作为“内容脚本”:
http://code.google.com/chrome/extensions/content_scripts.html
以下是我用来让它在本地工作的代码:
的manifest.json
{
"name": "Test",
"version": "1.0",
"description": "Test",
"permissions": [
"<all_urls>"
],
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content-script.js"],
"run_at": "document_end"
}
]
}
内容的script.js
document.body.innerHTML = "<a href='test'>test</a>";