打开一个新选项卡,并使用书签将焦点放在chrome中

时间:2014-10-14 21:15:06

标签: javascript google-chrome

我想要做的是从页面中抓取一些数据,然后在新选项卡中打开另一个页面,并将删除的数据插入新页面中包含的表单中。

我最接近打开新标签的是:

function openNewBackgroundTab(){
var a = document.createElement("a");
a.href = "http://www.example.com";
var evt = document.createEvent("MouseEvents");
//the tenth parameter of initMouseEvent sets ctrl key
evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0,
                            true, false, false, false, 0, null);
a.dispatchEvent(evt);
}    

但是,正如函数名称所示,选项卡在后台打开并且没有聚焦。

有没有办法在使用js书签的chrome中做到这一点?

1 个答案:

答案 0 :(得分:0)

我有一个类似的任务,我必须在Silverlight应用程序中打印表单。由于打印是Silverlight很糟糕,我使用了一些JavaScript来打开一个新窗口并为其写一个表单。

这不是标签,而是窗口。也许有帮助:

var print = function (data) {
    var html = 'This is a test';
    var newWindow = window.open('');
    newWindow.document.write('<html><head><title>New TAB</tit' + 'le>');
    newWindow.document.write('</he' + 'ad><body>');
    newWindow.document.write(html);
    newWindow.document.write('</bo' + 'dy></ht' + 'ml>');
    newWindow.document.close();
    newWindow.focus();
};

print();

此外,如果继续使用您的方法,IE在触发锚点击事件时有一些特殊性。您可能需要查看this或类似内容。