打开新的浏览器窗口

时间:2018-12-27 06:07:13

标签: javascript

我是javascript新手,正在使用下面的代码打开浏览器窗口并执行一些操作。但是,当我同时打开多个文件时,它只是在现有浏览器窗口中打开一个新标签,但是我希望它在新窗口中打开(如果可能,最好使用隐身模式)。根据我的研究,我认为我可以修改if语句,但不确定如何。

<html>
   <body onload="window.setTimeout('document.getElementById(\'criimlaunch\').click();', 1000);">

      <script>
         var macroCode = '';
         macroCode += 'PROMPT HELLO!\n';

         function launchMacro()
            {
            try
               {
                  if(!/^(?:chrome|https?|file)/.test(location))
                  {
                     alert('iMacros: Open webpage to run a macro.');
                     return;
                  }

                  var macro = {}; 
                  macro.source = macroCode;
                  macro.name = 'EmbeddedMacro';

                  var evt = document.createEvent('CustomEvent');
                  evt.initCustomEvent('iMacrosRunMacro', true, true, macro);
                  window.dispatchEvent(evt);
               }
            catch(e)
            {
               alert('iMacros Bookmarklet error: '+e.toString());
            };
         }
      </script>

      <a id="criimlaunch" href="javascript:launchMacro();">Launch iMacros</a>

   </body>
</html>

3 个答案:

答案 0 :(得分:1)

如果要打开新窗口,应使用

window.open (URL, windowName[, windowFeatures])

我认为下面的链接将为您提供帮助。

Using the window.open method

window.open w3schools

答案 1 :(得分:0)

具有标签页权限的Chrome扩展程序可以使用chrome.windows.create方法:

chrome.windows.create({"url": url, "incognito": true});

但是,要访问它,您将需要编写自己的扩展名或找到一个提供合适钩子的现有扩展名

答案 2 :(得分:-1)

您可以尝试

var indices = [1,0,2]
var values = ["A","B","C"]
var permute = indices.map({values[$0]})
print(permute)