我正在開發一個將html注入Linkedin的Chrome擴展。當我從我的Js文件中執行$(document.body).append($("<div>"));
時,它還附加了頁面上的Iframe組件。如何在控制檯上鍵入$(document.body)
時只返回主體。 如何將其限制在我的js文件中只有主體?document.body返回iframe body
我的清單文件:
{
"manifest_version":2,
"name": "Hawk! Beta",
"description": "Hawk",
"version": "1.0",
"permissions": [
"activeTab",
"tabs",
"storage",
"https://ajax.googleapis.com/",
"https://*.ngrok.io/"
],
"icons": {
"16": "img/icon.png",
"48": "img/icon.png",
"128": "img/icon.png"
},
"browser_action": {
"default_icon": {
"19": "img/icon.png",
"38": "img/icon.png"
}
},
"background": {
"scripts": [
"js/lib/jquery.min.js",
"js/lib/asteroid/ddp.js",
"js/lib/asteroid/q/q.js",
"js/lib/asteroid/asteroid/dist/asteroid.chrome.js",
"js/lib/asteroid/asteroid/dist/plugins/facebook-login.js",
"js/lib/asteroid/asteroid/dist/plugins/google-login.js",
"js/lib/asteroid/asteroid/dist/plugins/github-login.js",
"js/lib/bootstrap.min.js",
"js/background.js"
]
},
"content_scripts": [
{
"matches": [
"https://www.linkedin.com/*"
],
"all_frames" : true,
"match_about_blank": true,
"js": [
"js/lib/jquery.min.js",
"js/lib/handlebars.js",
"js/content_scripts/getPagesSource.js"
],
"css":[
"css/custom.css"
]
}
],
"web_accessible_resources": [
"img/*",
"js/*",
"js/lib/*",
"css/custom.css",
"html/*"
]
}
我用來注入HTML
function injectHtml(){
console.log(document.body); //this returns 2 bodies
$(document.body).append($("<div>", {
"class": "myapp-container"
}));
}
我只希望注入主體,而不是到身體的iframe的代碼。
以及你需要選擇iframe和大於內容。 – epascarello
聽起來像你的腳本正在被注入iframe以及頂級頁面。你的清單設置是什麼?你限制了它可以注入的位置嗎? –
請編輯您的問題以包含您的* manifest.json *文件和/或您正在使用的任何代碼,以將您的內容腳本注入頁面。這些信息需要回答你的問題。沒有這些信息,你還沒有提供調試問題所需的[mcve]。 [mcve]的一點是我們可以複製這個問題(即,我們有足夠的信息不必猜測問題/解決方案是什麼)。當你添加你的* manifest.json *和注入你的內容腳本時,請給我留言(在評論中包括'@ Makyen')。 – Makyen