是否可以通过JavaScript或页面脚本中的URL更改浏览器主页和新选项卡URL设置?

时间:2015-09-15 13:54:36

标签: javascript google-chrome firefox

我想在Firefox和Chrome上设置主页和新标签页。当用户点击我网页上的按钮时,它会自动更改浏览器主页。

  1. 当我们访问Firefox上的about:config时,我们可以自定义所有配置。有一个首选项名称browser.newtab.url - 我必须将此值设置/更改为我的自定义网址。
  2. 是否可以通过JavaScript或用户点击的网址更改此字符串值?

    1. 我必须通过JavaScript或用户点击的网址更改Chrome新标签页。
    2. 我不知道这是否可能。

      如果你知道改变这些事情的方法,那么请告诉你。

1 个答案:

答案 0 :(得分:0)

部分答案(对于Firefox,不使用页面脚本)可能是:

<footer>
  <div class="container">
    <div class="row">
      <div class="col-md-9">
        <div class="row first-row">
          <div class="col-md-4">1</div>

          <div class="col-md-4">2</div>

          <div class="col-md-4">3</div>
        </div>


        <div class="row second-row">
          <div class="col-md-4">1</div>

          <div class="col-md-4">2</div>

          <div class="col-md-4">3</div>
        </div>
      </div>

      <div class="col-md-3 image-column">
        <img src="..." , alt="..." />
      </div>

    </div>
  </div>
</footer>

这会导致var about_config = require('sdk/preferences/service'); about_config.set('browser.startup.homepage', 'http://www.stackoverflow.com'); about_config.set('browser.newtab.url', 'http://www.stackoverflow.com'); about:home重定向到您的网址。然而不会影响about:newtab。实际上,当您手动键入about:blankabout:home(而不是打开新标签页或点击主页按钮)时,about:newtab中的覆盖仍然无法触发。

about:config通过在地址栏中输入require('sdk/preferences/service')来公开可访问的相同设置。

但是,似乎需要稍后恢复更改:

  

//通过AMO政策全局首选项必须更改回他们的   原始

about:config

如果您希望遵循该要求,则可以使用var { when: unload } = require('sdk/system/unload'); unload( function() { about_config.set('browser.startup.homepage', oldValue); about_config.set('browser.newtab.url', oldValue); }); 代替.get()来获取旧值。