如何通过 javascript 在 FF 和 Chrome 中设置默认主页?

IT技术 javascript firefox google-chrome
2021-02-03 10:48:30

我有一个仅适用于 IE 和 Chrome 的代码我正在寻找类似的东西在 FF 和 Chrome 中通过链接“单击此处使该站点成为您的默认主页”来设置用户的默认主页,但到目前为止我没有找到任何东西。

有谁知道如何做到这一点?

6个回答

您要求的内容通常被认为是非常烦人的页面行为,因此并未得到广泛支持。

更好的 UX(用户体验)选择是提供一小组“操作方法”说明,说明用户如何在各自的浏览器中将您的页面设为主页。给用户选择!

特别是因为仅在特定浏览器中有效的链接很烦人。
2021-03-24 10:48:30

由于安全原因,您不能在 FF 中执行此操作。看看这篇文章您的用户必须将 signed.applet.codebase_principal_support 设置更改为 false。可能不是值得指望的东西。

那为什么 Facebook 可以做到呢?我想我看到他们以前做过
2021-04-10 10:48:30

我找到了一个脚本,它可以同时运行 ie 和 Mozila。但不适用于歌剧和铬。

在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 个空格来将文本格式化为代码(以获得更好的可读性)。
2021-03-13 10:48:30
对不起,如果这听起来很粗鲁。我刚刚看到,这是你的第一个答案。不要让像我这样的人让自己气馁;-)
2021-03-23 10:48:30
if (document.all) 对 IE 的检查很旧
2021-03-28 10:48:30
和歌剧?和 Webkit/Chrome/Safari?它保持不变。不要这样做,启用您的用户,以便他可以自己完成。
2021-04-10 10:48:30

如果一个按钮可以设置您的默认主页,为什么有人不能使用相同的 javascript 恶意重置访问者主页?这就是为什么在表现良好的浏览器上不存在这样的功能的原因。

因为即使是 IE 也会要求用户确认。
2021-04-08 10:48:30

我知道这是一个旧线程,但我今天被迫调查。我想我会发布一个答案,其中包含有关该问题的明确信息。

我花了很长时间努力解释这一点,它不仅在 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

现在我要羞愧地低下头了。