Javascript “铬延伸”;所有“U框架”;无效 问题:
我试图制作一个插件来帮助修改主页(web浏览器请求的页面)中的Javascript “铬延伸”;所有“U框架”;无效 问题:,javascript,google-chrome,iframe,google-chrome-extension,Javascript,Google Chrome,Iframe,Google Chrome Extension,我试图制作一个插件来帮助修改主页(web浏览器请求的页面)中的navigator.platform,但是我发现如果页面中有iframe,页面中的iframe将不会被我的content\u scripts.js修改,尽管我必须在manifest.json文件中设置所有帧:true`。这是为什么 manifest.json insert-script.js 完整文件 ,此文件包含两部分:扩展名。zip是Chrome扩展名testPages.zip是用于测试的HTML文件。在测试文件中,打开main.
navigator.platform
,但是我发现如果页面中有iframe
,页面中的iframe
将不会被我的content\u scripts.js
修改,尽管我必须在manifest.json
文件中设置所有帧:true`。这是为什么
manifest.json
insert-script.js
完整文件
,此文件包含两部分:
扩展名。zip
是Chrome扩展名testPages.zip是用于测试的HTML文件。在测试文件中,打开main.html
值已更改,仅晚于中显示的值。谢谢,我已编辑了问题。再次感谢,我已上载扩展名。
{
"name": "Platform Modifier",
"version": "1.0.0.0",
"manifest_version":2,
"default_locale": "en",
"permissions": ["tabs", "webRequest", "webRequestBlocking", "<all_urls>"],
"background":{
"persistent":true,
"scripts":["bg.js"]
},
"browser_action": {
"default_icon": "icon.png" ,
"default_title": "Platform Modifier",
"default_popup": "popup.html"
},
"content_scripts": [{
"matches": ["*://*/*"],
"all_frames": true,
"js": ["content_scripts.js"],
"run_at":"document_start"
}],
"web_accessible_resources":[
"insert-script.js"
]
}
var xmlhttp = null;
var url = chrome.extension.getURL("insert-script.js");
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
if(xmlhttp == null){
console.log("not support XMLHTTP")
}else{
xmlhttp.onreadystatechange=state_Change;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function state_Change(){
if(xmlhttp.status == 200){
chrome.extension.sendRequest({op: "getAll"}, function(response) {
var replaceList = {
"TAG_PlatForm":response.value.platform,
"TAG_UserAgent":response.value.userAgent
};
var sc=document.createElement("script");
sc.type="text/javascript";
sc.innerHTML= replaceText(xmlhttp.responseText,replaceList);
var html=document.getElementsByTagName("html");
html[0].appendChild(sc);
});
}
}
function replaceText(str,regexp){
for(var key in regexp){
str = str.replace(key,regexp[key]);
}
return str;
}
var myPlatForm = function() {
return 'TAG_PlatForm';
};
var myUserAgent = function() {
return 'TAG_UserAgent';
};
if (Object.defineProperty) {
Object.defineProperty(navigator, 'platform', {
get: myPlatForm
});
Object.defineProperty(navigator, 'userAgent', {
get: myUserAgent
});
} else if (Object.prototype.__defineGetter__) {
navigator.__defineGetter__('platform', myPlatForm);
navigator.__defineGetter__('userAgent', myPlatForm);
}
if (xmlhttp.readyState == 4) {