आप इस सुविधा जोड़ने की कोशिश कर रहे हैं, तो इन-एपी ब्राउज़र नियंत्रण के लिए, मैं आपको एक तरफ सुझाव दे सकता हूं।
आपको प्रत्येक वेबपृष्ठ पर जावा-स्क्रिप्ट इंजेक्ट करना होगा ब्राउज़र ब्राउज़र सफलतापूर्वक पृष्ठ को लोड करने में सक्षम है। जावा-स्क्रिप्ट में window.extern का उपयोग करें। अपने कोड में ScriptNotify
फ़ंक्शन का आह्वान करने के लिए सूचित करें। उपयुक्त संदेश का पता लगाने पर ब्राउज़र नियंत्रण का एक नया उदाहरण बनाएं और इसे एक सरणी या सूची में जोड़ें। इस प्रकार आप इन-ऐप ब्राउज़र नियंत्रण के लिए नई टैब सुविधा का अनुकरण कर सकते हैं।
जे एस कोड इस String NEW_TAB_FUNCTION = "window.open = function(__msg){window.external.notify('addnewtab');};";
कौन सा addnewtab
के लिए browser.InvokeScript("eval", NEW_TAB_FUNCTION);
का उपयोग कर इंजेक्ट किया जा सकता ScriptNotify जांच में की तरह हो सकता है इंजेक्ट किया जा करने के लिए (IsScriptEnabled = True
रखने)
void WebBrowser_ScriptNotify(object sender, NotifyEventArgs e)
{
if (e.Value == "addnewtab")
{
//do work here
}
}
ध्यान दें कि मैं अधिरोहित है जेएस में window.open फ़ंक्शन एक फ़ंक्शन के साथ जो उपयोगकर्ता इनपुट के अधिसूचित होने के लिए हर बार एक नए वेबपृष्ठ पर इंजेक्शन दिया जाएगा।
यह भी ध्यान दें कि यह केवल वेबब्रोसर नियंत्रण के लिए काम करता है और बाहरी ब्राउज़र नहीं।, अगर विफल रही
window.open
रिटर्न अशक्त ताकि मामले में मैं यह एक ही विंडो में खुलेगा:
स्रोत
2012-09-05 04:15:00
ब्राउज़र सेटिंग्स में, 'एक नए टैब में लिंक खोलने' का विकल्प है। मुझे संदेह है कि ऐप द्वारा ओवरराइड किया जा सकता है। – Osiris