के बाहर पृष्ठों द्वारा लोड किए जाने के लिए संसाधनों को web_accessible_resources मेनिफेस्ट कुंजी में सूचीबद्ध किया जाना चाहिए। मैंने UPUpdated.addListener पर URL की जांच करने पर एक विशिष्ट पृष्ठ में स्क्रिप्ट को इंजेक्ट करने के कई तरीकों (सभी दस्तावेजी प्रक्रियाओं) की कोशिश की है। अंत में 'executescript' के साथ नीचे दिया गया कोड काम करता है, लेकिन पूरी तरह से नहीं। मैं अलर्ट प्राप्त करने में सक्षम था लेकिन getElementById/getElementsByName के माध्यम से पृष्ठ के दस्तावेज़ तत्वों को ढूंढने में सक्षम नहीं हो सकता।संसाधन
जब मैंने पृष्ठ का निरीक्षण किया, तो स्क्रिप्ट इंजेक्शन दी गई। लेकिन त्रुटि कंसोल में मुझे मिलता है:
क्रोम-एक्सटेंशन का लोड अस्वीकार करना: //jfeiadiicafjpmaefageabnpamkapdhe/js/Leoscript.js। विस्तार से बाहर पृष्ठों द्वारा लोड किए जाने के लिए संसाधनों को web_accessible_resources मेनिफेस्ट कुंजी में सूचीबद्ध होना चाहिए।
manifest.json:
{
"name": "Leo Extension for Job Boards",
"version": "1.6",
"manifest_version": 2,
"content_security_policy": "script-src 'self'; object-src 'self'",
"description": "Leo Extension",
"background": {
"scripts": ["js/Leojshelper.js"],
"persistent": true
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["js/eventPage.js"],
"run_at" : "document_start"
}
],
"icons":{"48":"images/bob48.png", "128":"images/bob128.png"}, //Define any icon sizes and the files that you want to use with them. 48/128 etc.
"browser_action": {
"default_icon": "images/bob.png", // What icon do you want to display on the chrome toolbar
"default_popup": "LeoExtwatch.html" // The page to popup when button clicked.
},
"permissions": [
"tabs", "<all_urls>" // "http://*/*","https://*/*" // Cross Site Access Requests
],
"web_accessible_resources": ["js/LeoScript.js"]
}
मैं भी स्क्रिप्ट के लिए 'web_accessible_resources की अनुमति नहीं सफलता दे दिया है, लेकिन अभी भी। पृष्ठभूमि स्क्रिप्ट में कोड:
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
if (changeInfo.status == 'complete') {
if (tab.url.indexOf("in.yahoo") !== -1) {
chrome.tabs.update(tabId, { url: "https://login.yahoo.com/config/mail?.intl=us" });
chrome.tabs.executeScript(tabId, {
code: "document.body.appendChild(document.createElement('script')).src='" +
chrome.extension.getURL("js/LeoScript.js") + "';"
}, null);
लियोस्क्रिप्ट.जेएस में कोड, जिसे विशिष्ट पृष्ठ में इंजेक्शन दिया जाएगा।
$(document).ready(function() {
alert('injected');
document.getElementById('username').value='aaaaaaa';
});
सामग्री स्क्रिप्ट: eventPage.js जो मैं स्क्रिप्ट इंजेक्ट करता था।
var script = document.createElement('script');
script.src = chrome.extension.getURL("js/Leoscript.js");
(document.body || document.head || document.documentElement).appendChild(script);
कृपया मुझे उपरोक्त कोड में किसी भी बदलाव पर इंगित करें जो अनुमति मुद्दों को हल करेगा। अग्रिम में धन्यवाद।
@ 方 觉: प्रतिक्रिया के लिए धन्यवाद, यह सिर्फ अब थक गया, लेकिन एक ही परिणाम 'LeoScirpt का भार को नकार: संसाधन web_accessible_resources –
मैंने कोशिश में सूचीबद्ध होना चाहिए फिर और चीजें डरावनी लग रही थी। chrome.tabs.executeScript (tabId, {code: ...}) chrome.tabs.executeScript (tabId, {file: ...}) के दौरान सफल हुआ (हालांकि कोड सभी समान है)। –
फिर से अपडेट किया गया। कृपया देख लीजिये। @VineelGogineni –