. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
. , , .
:
manifest.json - background.js - content script, injected.js - jquery.js - ajax. jquery.com
:
manifest.json
{ "name": "JS Code Injection", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "http://extension.target.url" ], "js": [ "jquery.js", "background.js" ], "run_at": "document_end" } ], "web_accessible_resources": [ "/injected.js" ] }
manifest- .
, injected.js web_accessible_resources, content-.
injected.js
function injected_main() { alert('Injected!'); }
, . javascript , .
background.js
$.get(chrome.extension.getURL('/injected.js'), function(data) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.innerHTML = data; document.getElementsByTagName("head")[0].appendChild(script); document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();"); } );
Chrome Extension API chrome.extension.getURL()
, , . ajax ( Shared DOM ) , ( injected_main()
injected.js)
. ( ), - . - injected.js .
Source: https://habr.com/ru/post/147111/
All Articles