2012-01-19 20 views
11

के किसी पृष्ठ के भीतर से क्रोम आंतरिक पृष्ठ से सीधे लिंक करने की आवश्यकता है, मैंने पिछले 7 घंटों को सीधे क्रोम आंतरिक पृष्ठ से लिंक करने का तरीका खोजने का प्रयास किया है। अभी के लिए मैंने छोड़ दिया है। मैंने बस लोगों को "नए टैब में राइट-क्लिक और खोलने" का निर्देश दिया।क्रोम एक्सटेंशन

मैंने एचटीएमएल से सीएसएस से जावास्क्रिप्ट तक सब कुछ करने की कोशिश की है, लेकिन कुछ भी काम नहीं कर रहा है। कुछ भी नहीं होता है जब मैं लिंक पर क्लिक करता हूं, भले ही लिंक पर राइट-क्लिक करें और इसे एक नए टैब में खोलना सही काम करता है।

<div class="links"> 
    <a href="chrome://net-internals/" onclick="window.open('chrome://net-internals/');">TESTAA</a> 
</div> 

और

<div class="links"> 
    <a href="chrome://net-internals/" onclick="window.location('chrome://net-internals/');">TESTAA</a> 
</div> 

कोई त्रुटि पृष्ठ है:

जावास्क्रिप्ट प्रयास विफल रहे। जब आप क्लिक करते हैं तो बस कुछ भी नहीं होता है। यदि आप इसे target="_blank" का उपयोग करके एक नए टैब में खोलने के लिए मजबूर करते हैं, तो यह केवल एक खाली टैब खुलता है।

अपडेट करें! हल किया!

----- कदम 1 -----

प्लेस background.html पेज में निम्न कोड (background.html manifest.json में कहा जाता है):

function openNetInternals() { 
    chrome.tabs.create({url: 'chrome://net-internals/'}); 
} 

----- कदम 2 -----

लिंक के लिए इस कोड को रखो (html पृष्ठ में):

<a href="chrome://net-internals/" onclick="chrome.extension.getBackgroundPage().openNetInternals()">Net</a> 

----- कदम 3 -----

विस्तार ताज़ा करने के लिए सुनिश्चित करें। यह अब काम करेगा।

<a href="#" onclick="chrome.tabs.create({url: 'chrome://net-internals'});">Net</a> 

उत्तर

2

अपने विस्तार से या अपनी वेबसाइट से इस लिंक पर उपलब्ध है:

+0

क्षमा करें, लेकिन बहुत समय पहले टैब को अनुमतियां दी गई हैं। इसका कोई प्रभाव नहीं है। –

+0

मुझे समझ में नहीं आता है। आप किस अनुमति के बारे में बात कर रहे हैं? –

+0

कुछ भी नहीं। अनुमतियों को अनदेखा करें। वह विषय है। मैं केवल आपको बता रहा था कि मैंने आपको टैब को अनुमति दी है। –

1

इस तरह का प्रयास करें? विस्तार से तो chrome.tabs मॉड्यूल का उपयोग कर प्रयास करें: पृष्ठभूमि पृष्ठ पर

chrome.tabs.create({url: 'chrome://net-internals/'}); 

इस तरह समारोह बनाने के लिए:

function openNetInternals() { 
    chrome.tabs.create({url: 'chrome://net-internals/'}); 
} 

और यह अपने कस्टम आरम्भ पृष्ठ से फोन जब लिंक इस तरह क्लिक किया जाता है :

chrome.extension.getBackgroundPage().openNetInternals(); 

प्रासंगिक दस्तावेज़ here

+2

'नोट: यह समारोह 'टैब' अनुमति देने का अनुरोध के बिना इस्तेमाल किया जा सकता मेनिफेस्ट में। '- http://code.google.com/chrome/extensions/tabs.html#method-create –

+0

हाँ, मैंने इसे चेक किया है और – dfsq

+0

उत्तर सही किया है यह क्यों काम नहीं कर रहा है? यहां मैं उपयोग करता हूं: \t \t \t \t \t TESTBB

0

क्रोम खोलने के लिए:

chrome.tabs.create({url: 'chrome://net-internals/'}); 

एक ही टैब में खोलने के लिए नए टैब में // लिंक

chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) { 
    var tab_id = tabs[0]['id']; 
    chrome.tabs.update(tab_id, {'url':'chrome://net-internals/'}); 
}); 
संबंधित मुद्दे