Как я могу установить домашнюю страницу по умолчанию в FF и Chrome через JavaScript? - PullRequest
36 голосов
/ 03 июня 2009

У меня есть код, который работает только в IE, и я искал что-то подобное в FF и Chrome, чтобы установить домашнюю страницу пользователя по умолчанию через ссылку «нажмите здесь, чтобы сделать этот сайт домашней страницей по умолчанию», но до сих пор я этого не сделал найди что-нибудь.

Кто-нибудь знает, как это сделать?

Ответы [ 7 ]

18 голосов
/ 03 июня 2009

То, что вы просите, обычно считается очень раздражающим поведением страницы и, следовательно, широко не поддерживается.

Лучший выбор UX (User Experience) - дать небольшой набор практических инструкций о том, как пользователи могут сделать вашу страницу своей домашней страницей в соответствующих браузерах. Дайте пользователю выбор!

13 голосов
/ 03 июня 2009

Вы не можете сделать это в FF из-за безопасности. Проверьте эту статью . Ваш пользователь должен будет изменить для подписи. Наверное, не то, на что стоит рассчитывать.

6 голосов
/ 30 июня 2009

Я нашел один скрипт, который будет работать как, например, & Mozila. Но не работает в опере и Chrome.

Функция записи ниже внутри тега javascript

<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 () по нажатию кнопки.

4 голосов
/ 03 июня 2009

Если кнопка может установить домашнюю страницу по умолчанию, почему кто-то не может злонамеренно сбросить домашние страницы посетителя, используя тот же javascript? Вот почему такая функция не существует в браузерах с хорошим поведением.

3 голосов
/ 12 июля 2012

Я знаю, что это старая ветка, но я был вынужден исследовать это сегодня. Я думал, что выложу ответ с четкой информацией о проблеме.

Я пытался долго и упорно объяснять, что не только он работает только в IE6, но это плохая практика. Как только мой менеджер обнаружил, что Google имеет работоспособность (посетите его в IE) во всех версиях IE, я был вынужден найти решение.

Итак, хотя document.setHomePage действительно удалено, вы можете делать это во всех версиях IE. Ключ заключается в том, что вы должны вызвать метод для элемента, у которого установлено свойство стиля behavior:url(#default#homepage). Следующая ссылка будет работать в IE, если она размещена на вашей странице. Вам нужно будет найти другие методы для других браузеров. Эту ссылку Google, которую я разместил выше, можно просмотреть в каждом браузере, чтобы узнать, как они это делают, если вам интересно.

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

Похоже, что IE7 + может потребовать, чтобы это произошло при клике, хотя. Я не смог заставить код работать в консоли при попытке.

Вот страница MSDN о поведении. http://msdn.microsoft.com/en-us/subscriptions/ms531418(v=vs.85).aspx

Теперь, чтобы пойти повесить мою голову от стыда.

2 голосов
/ 03 июня 2009

Используйте, чтобы это было возможно с этим прекрасным фрагментом.

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

Шокирующе, это поддерживалось только IE, а в IE7 оно было прекращено.

В этой статье говорится, что лучший вариант - просто дать краткие инструкции о том, как это сделать.

1 голос
/ 02 марта 2012
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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...