我是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>
答案 0 :(得分:1)
如果要打开新窗口,应使用
window.open (URL, windowName[, windowFeatures])
我认为下面的链接将为您提供帮助。
答案 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)