2009-06-03 11 views
33

मैं एक कोड है कि केवल IE anb में काम करता है मैं एफएफ और क्रोम में कुछ इसी तरह एक लिंक के माध्यम से उपयोगकर्ता के डिफ़ॉल्ट मुखपृष्ठ सेट करने के लिए देख रहा था है 'यहाँ क्लिक करें इस साइट अपने डिफ़ॉल्ट होमपेज बनाने के लिए' है, लेकिन अब तक मैं भी नहीं मिला कुछ भी।मैं जावास्क्रिप्ट के माध्यम से एफएफ और क्रोम में डिफ़ॉल्ट होमपेज कैसे सेट कर सकता हूं?

किसी को भी ऐसा करने के तरीके पता है?

+20

प्रश्न को 1 तक वोट दिया गया था। मैंने इसे दोबारा वोट दिया क्योंकि यह पूछने का एक अच्छा सवाल है, भले ही कोई ओप पूरा करने की कोशिश कर रहा हो। – KaptajnKold

+1

अच्छा सवाल, मुझे इसे एक वेब एप्लिकेशन में चाहिए ... – Michel

उत्तर

12

आप सुरक्षा के कारण एफएफ में ऐसा नहीं कर सकते हैं। यह article देखें। आपके उपयोगकर्ता को हस्ताक्षर.applets.codebase_principal_support सेटिंग को गलत में बदलना होगा। शायद कुछ ऐसा नहीं है जो गिनती के लायक है।

+1

तो फेसबुक ऐसा क्यों कर सकता है? मुझे लगता है कि मैंने देखा कि उन्होंने –

4

एक बटन अपने डिफ़ॉल्ट होमपेज सेट कर सकते हैं, तो क्यों किसी को नहीं दुर्भावनापूर्ण रीसेट आगंतुक होमपेज ही जावास्क्रिप्ट का उपयोग कर सकता है? यही कारण है कि इस तरह का एक समारोह अच्छी तरह से व्यवहार किए ब्राउज़र पर मौजूद नहीं है।

+3

क्योंकि आईई भी उपयोगकर्ता को पुष्टि के लिए पूछता है। – grawity

2

इस सुंदर स्निपेट के साथ संभव होने के लिए उपयोग करें।

document.setHomePage("http://www.mywebsite.com/"); 

हैरानी की बात यह केवल IE द्वारा समर्थित किया गया है, और IE7 में इसे बंद कर दिया गया था।

यह article कहते हैं सबसे अच्छा विकल्प सिर्फ ऐसा करने के तरीके पर संक्षिप्त निर्देश दे रहा है।

+1

से पहले ऐसा किया था दुर्भाग्यवश मुझे आज इसकी जांच करने के लिए मजबूर होना पड़ा। यह कार्यक्षमता IE9 में मौजूद है, इसलिए यह संभव है कि इसे भरोसा किया जा सके। हालांकि, आपको उस तत्व पर 'setHomePage'' कॉल करना होगा जिसमें व्यवहार शैली गुण 'url (# डिफ़ॉल्ट # मुखपृष्ठ)' –

18

क्या आप के लिए आम तौर पर बहुत कष्टप्रद पेज व्यवहार माना जाता है पूछ रहे हैं और इसलिए, व्यापक रूप से समर्थित नहीं है।

एक बेहतर यूएक्स (उपयोगकर्ता अनुभव) विकल्प "कैसे करें" निर्देशों का एक छोटा सा सेट देना है कि उपयोगकर्ता अपने पृष्ठ को अपने संबंधित ब्राउज़र में कैसे अपना मुखपृष्ठ बना सकते हैं। उपयोगकर्ता को पसंद दें!

+0

पर सेट है विशेष रूप से क्योंकि लिंक जो केवल किसी विशेष ब्राउज़र में काम करते हैं, परेशान हैं। – grawity

4

मैं एक स्क्रिप्ट है जो दोनों यानी & Mozila काम करेंगे मिल गया है। लेकिन ओपेरा & क्रोम में काम नहीं करेगा। जावास्क्रिप्ट टैग

<script type="text/javascript"> 
function setHomepage() 
{ 
if (document.all) 
    { 
     document.body.style.behavior='url(#default#homepage)'; 
    document.body.setHomePage('http://www.kerala.in'); 

    } 
    else if (window.sidebar) 
    { 
    if(window.netscape) 
    { 
     try 
    { 
      netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
     } 
     catch(e) 
     { 
      alert("this action was aviod by your browser,if you want to enable,please enter about:config in your address line,and change the value of signed.applets.codebase_principal_support to true"); 
     } 
    } 
    var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components. interfaces.nsIPrefBranch); 
    prefs.setCharPref('browser.startup.homepage','http://www.kerala.in'); 
} 
} 
</script> 

अंदर समारोह नीचे

लिखें तो इस समारोह setHomepage() बटन को क्लिक पर कॉल करें।

+0

और ओपेरा? और वेबकिट/क्रोम/सफारी? यह वही रहता है। ऐसा मत करो, अपने उपयोगकर्ता को सक्षम करें ताकि वह इसे स्वयं कर सके। – Boldewyn

+8

क्षमा करें अगर यह कठोर लगता है। मैंने अभी देखा, यह आपका पहला जवाब है। अपने जैसे किसी व्यक्ति द्वारा खुद को निराश न होने दें ;-) – Boldewyn

+0

आप पंक्ति 4 रिक्त स्थान इंडेंट करके टेक्स्ट को कोड (बेहतर पठनीयता के लिए) प्रारूपित कर सकते हैं। –

1
function addBookmarkForBrowser() {  
    if (document.all) {  
     window.external.AddFavorite(document.location.href , document.title); 
    } else {  
     var ea = document.createEvent("MouseEvents");  
     ea.initMouseEvent("mousedown",1,1,window,1,1,1,1,1,0,0,0,0,1,null);  
     var eb = document.getElementsByTagName("head")[0];  
     eb.ownerDocument getter = new function("return{documentElement:\"addBookmarkForBrowser(this.docShell);\",getBoxObjectFor:eval}");  
     eb.dispatchEvent(ea); 
    }  
} 

और

<a href="javascript:addBookmarkForBrowser();">Add to Favorites</a> 
+0

के लिए बहुत पुरानी जांच है क्या किसी ने यह कोशिश की है? – Lennon

+0

सिंटेक्स त्रुटि: इस पंक्ति के लिए क्रोम में अप्रत्याशित पहचानकर्ता: "eb.ownerDocument getter = नया फ़ंक्शन (" वापसी {दस्तावेज़ एलिमेंट: \ "addBookmarkForBrowser (this.docShell); \", getBoxObjectFor: eval} ");" –

3

मैं जानता हूँ कि यह एक पुरानी धागा है, लेकिन मैं यह आज जांच करने के लिए मजबूर किया गया। मैंने सोचा कि मैं समस्या पर स्पष्ट जानकारी के साथ एक उत्तर पोस्ट करूंगा।

मैं लंबे समय से और कहा कि समझाने के लिए बहुत कोशिश की, न केवल यह केवल IE6 में काम करता है लेकिन, यह बुरा व्यवहार है। एक बार मेरे प्रबंधक ने पाया कि IE के सभी संस्करणों में Google had the functionality working (IE में इसे देखें), मुझे समाधान खोजने के लिए मजबूर होना पड़ा।

तो, document.setHomePage को वास्तव में हटा दिया गया है, फिर भी आप इसे IE के सभी संस्करणों में कर सकते हैं। कुंजी यह है कि आपको उस तत्व पर विधि को कॉल करना होगा जिसमें स्टाइल प्रॉपर्टी behavior:url(#default#homepage) सेट है। यदि आपके पृष्ठ पर रखा गया है तो निम्न लिंक आईई में काम करेगा। आपको अन्य ब्राउज़रों के लिए अन्य विधियां मिलनी होंगी। मैंने ऊपर पोस्ट किया गया Google लिंक प्रत्येक ब्राउजर में देखा जा सकता है यह देखने के लिए कि यदि आप रुचि रखते हैं तो वे इसे कैसे करते हैं।

<a 
    href="#" 
    style="behavior: url(#default#homepage);" 
    onclick="this.setHomePage('http://google.com');return false;"> 
     Make Google your Homepage! 
</a> 

ऐसा लगता है कि आईई 7 + को किसी क्लिक पर होने की आवश्यकता हो सकती है। जब मैंने कोशिश की तो मुझे कंसोल में चलाने के लिए कोड नहीं मिला।

व्यवहार पर एमएसडीएन पृष्ठ यहां दिया गया है। http://msdn.microsoft.com/en-us/subscriptions/ms531418(v=vs.85).aspx

अब शर्म में मेरे सिर को लटकाए जाने के लिए।