我想要做的是从页面中抓取一些数据,然后在新选项卡中打开另一个页面,并将删除的数据插入新页面中包含的表单中。
我最接近打开新标签的是:
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中做到这一点?
答案 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或类似内容。