2012-09-12 23 views
5

में सामग्री स्क्रिप्ट लोडिंग मुझे क्रोम-एक्सटेंशन विकसित करने में समस्या है।क्रोम एक्सटेंशन

window.addEventListener("load",function(){ 
    var html = document.getElementsByTagName('html')[0]; 
    var title = document.getElementsByTagName('title')[0].innerHTML; 
    if(html){ 
     chrome.extension.sendRequest({akce: 'content', title: title},function(response){}); 
     alert(title); 
    } 
},false); 

तो मैं एक बीजी पृष्ठ है:

मैं सामग्री स्क्रिप्ट है

chrome.extension.onRequest.addListener(function(request,sender,sendResponse){ 
    if(request.akce == 'content'){ 
     console.log(request.title); 
    } 
}); 

समस्या यह है कि जब मैं बार संबोधित करने के लिए टाइप करना आरंभ करें, मेरी सामग्री स्क्रिप्ट साइट पर लोड किया जाता है है जो स्वत: पूर्ण सूची में पहला है। जैसा कि आप नीचे स्क्रीनशॉट में देख सकते हैं, सामग्री पट्टी को पता बार में दर्ज करने से पहले लोड किया गया है और उस साइट पर लोड किया गया है जहां मैं अभी तक नहीं हूं।

मुझे नहीं पता कि क्या हो रहा है। कृपया, कृपया मेरी मदद करें।

screenshot

उत्तर

4

समाधान पृष्ठभूमि पृष्ठ से इंजेक्शन स्क्रिप्ट है।

उदाहरण: bg पेज

chrome.tabs.executeScript(tabId,{ 
    code: "chrome.extension.sendRequest({action: 'content_refer', url: document.referrer},function(response){});" 
}); 

chrome.extension.onRequest.addListener(function(request,sender,sendResponse){ 
    if(request.action == 'content_refer'){ 
     wipstats.allPages[sender.tab.id].ref = request.url; 
    } 
}); 
0

मैं तुम्हें क्रोम में "त्वरित ब्राउज़िंग" कहा जाता है विकल्प सक्षम है लगता है, मैं कुछ समय पहले ही मुद्दा था, और वास्तव में इसी कारण की वजह से मुझे लगता है कि अक्षम और इसे अब और इस्तेमाल कभी नहीं किया।

+0

से रेफरर मिलता है लेकिन यह मेरे लिए उपयोगी नहीं है, क्योंकि मैं ग्राहकों को अपने एक्सटेंशन वितरित करना चाहते हैं, मुझे लगता है कि मैं अक्षम नहीं कर सकता "त्वरित ब्राउज़िंग" क्लाइंट मशीन पर :( – tomash

+0

हाँ, आप सही हैं, लेकिन मुझे क्रोम के इस विकल्प को पसंद नहीं है और मेरा मानना ​​है कि यह एक सवाल है जिसे Google को हल करना है, क्योंकि डेवलपर्स यहां कुछ भी नहीं कर सकते हैं। शायद यह अच्छा नहीं होगा त्वरित ब्राउज़िंग चालू होने पर एक्सटेंशन लोड करना और उपयोगकर्ता हिट दर्ज करने के बाद उन्हें लोड करना, लेकिन फिर मुझे विश्वास है कि Google को – haynar

+0

और एक और चीज़ को हल करना है, मुझे बिल्कुल पता नहीं है, लेकिन शायद कुछ क्रोम-विशिष्ट डोम ईवेंट हैं possibl हैं ई इस स्थिति में पकड़ने और ऐसे मामलों को संभालने के लिए, यह एक और अच्छा समाधान होगा ... – haynar

संबंधित मुद्दे