Javascript 如何在新窗口(打开后)中执行代码?
通过我的代码,我将打开一个新窗口,并通过双击收集一些文本,代码是-Javascript 如何在新窗口(打开后)中执行代码?,javascript,Javascript,通过我的代码,我将打开一个新窗口,并通过双击收集一些文本,代码是- document.addEventListener('dblclick',function (event) { var element = document.getElementsByClassName(event.target.parentElement.parentElement.parentElement.className); var T= window.open("", "MsgWindow", "width=200,
document.addEventListener('dblclick',function (event) {
var element = document.getElementsByClassName(event.target.parentElement.parentElement.parentElement.className);
var T= window.open("", "MsgWindow", "width=200,height=500");
T.document.write(element[0].innerText.replace(/\n/g, "<br/>"));
},false);
上面的代码将在鼠标使用window.getSelection().toString()
进行选择后收集单词
我该怎么做
PS:这不是一个重复的问题,因为这两部分将在同一个脚本中。我认为,您应该在“MsgWindow”窗口中附加一个
脚本
节点
编辑(完整代码):
使用以下代码创建新的script.js
-文件:
window.addEventListener(
"keydown",
function(e) {
if (e.keyCode === 16) {
var text = "";
if (window.getSelection) {
text_1 = window.getSelection().toString();
text = text_1
.replace(/\n|\r/g, " ")
.replace(/\s/, "");
}
words = text.split(" ");
console.log(words);
}
},
false
);
然后,触发新窗口的代码应该如下所示:
document.addEventListener('dblclick',function (event) {
var element = document.getElementsByClassName(event.target.parentElement.parentElement.parentElement.className);
var T= window.open("", "MsgWindow", "width=200,height=500");
T.document.write(element[0].innerText.replace(/\n/g, "<br/>"));
T.document.createElement('script');
script.src = *path to your script.js-file*;
T.document.head.appendChild(script);
},false);
document.addEventListener('dblclick',函数(事件){
var element=document.getElementsByClassName(event.target.parentElement.parentElement.parentElement.parentElement.className);
var T=窗口打开(“,”MsgWindow“,”宽度=200,高度=500”);
T.document.write(元素[0].innerText.replace(/\n/g,“
”);
T.document.createElement(“脚本”);
script.src=*指向script.js文件的路径*;
T.document.head.appendChild(脚本);
},假);
我认为,您应该在“MsgWindow”窗口中附加一个脚本
节点
编辑(完整代码):
使用以下代码创建新的script.js
-文件:
window.addEventListener(
"keydown",
function(e) {
if (e.keyCode === 16) {
var text = "";
if (window.getSelection) {
text_1 = window.getSelection().toString();
text = text_1
.replace(/\n|\r/g, " ")
.replace(/\s/, "");
}
words = text.split(" ");
console.log(words);
}
},
false
);
然后,触发新窗口的代码应该如下所示:
document.addEventListener('dblclick',function (event) {
var element = document.getElementsByClassName(event.target.parentElement.parentElement.parentElement.className);
var T= window.open("", "MsgWindow", "width=200,height=500");
T.document.write(element[0].innerText.replace(/\n/g, "<br/>"));
T.document.createElement('script');
script.src = *path to your script.js-file*;
T.document.head.appendChild(script);
},false);
document.addEventListener('dblclick',函数(事件){
var element=document.getElementsByClassName(event.target.parentElement.parentElement.parentElement.parentElement.className);
var T=窗口打开(“,”MsgWindow“,”宽度=200,高度=500”);
T.document.write(元素[0].innerText.replace(/\n/g,“
”);
T.document.createElement(“脚本”);
script.src=*指向script.js文件的路径*;
T.document.head.appendChild(脚本);
},假);
在dblclick
事件中调用T
上的addEventListener
,然后参考T
而不是那里的窗口
。并参考T.console
,而不仅仅是console
:
document.addEventListener('dblclick', function(event) {
var element = document.getElementsByClassName(event.target.parentElement.parentElement.parentElement.className);
var T = window.open("", "MsgWindow", "width=200,height=500");
T.document.write(element[0].innerText.replace(/\n/g, "<br/>"));
T.addEventListener(
"keydown",
function(e) {
if (e.keyCode === 16) {
var text = "";
if (T.getSelection) {
text_1 = T.getSelection().toString();
text = text_1
.replace(/\n|\r/g, " ")
.replace(/\s/, "");
}
words = text.split(" ");
T.console.log(words);
}
},
false
);
}, false);
document.addEventListener('dblclick',函数(事件){
var element=document.getElementsByClassName(event.target.parentElement.parentElement.parentElement.parentElement.className);
var T=窗口打开(“,”MsgWindow“,”宽度=200,高度=500”);
T.document.write(元素[0].innerText.replace(/\n/g,“
”);
T.addEventListener(
“按下键”,
职能(e){
如果(如keyCode===16){
var text=“”;
if(T.getSelection){
text_1=T.getSelection().toString();
text=text_1
.替换(/\n |\r/g,“”)
.替换(/\s/,“”);
}
单词=文本。拆分(“”);
T.console.log(字);
}
},
假的
);
},假);
请参见此处的示例:在
dblclick
事件中调用T
上的addEventListener
,然后参考T
而不是此处的窗口
。并参考T.console
,而不仅仅是console
:
document.addEventListener('dblclick', function(event) {
var element = document.getElementsByClassName(event.target.parentElement.parentElement.parentElement.className);
var T = window.open("", "MsgWindow", "width=200,height=500");
T.document.write(element[0].innerText.replace(/\n/g, "<br/>"));
T.addEventListener(
"keydown",
function(e) {
if (e.keyCode === 16) {
var text = "";
if (T.getSelection) {
text_1 = T.getSelection().toString();
text = text_1
.replace(/\n|\r/g, " ")
.replace(/\s/, "");
}
words = text.split(" ");
T.console.log(words);
}
},
false
);
}, false);
document.addEventListener('dblclick',函数(事件){
var element=document.getElementsByClassName(event.target.parentElement.parentElement.parentElement.parentElement.className);
var T=窗口打开(“,”MsgWindow“,”宽度=200,高度=500”);
T.document.write(元素[0].innerText.replace(/\n/g,“
”);
T.addEventListener(
“按下键”,
职能(e){
如果(如keyCode===16){
var text=“”;
if(T.getSelection){
text_1=T.getSelection().toString();
text=text_1
.替换(/\n |\r/g,“”)
.替换(/\s/,“”);
}
单词=文本。拆分(“”);
T.console.log(字);
}
},
假的
);
},假);
参见此处示例:@Mike,此链接是什么?我说的是
document.createElement('script')
。我要求您使用上面给出的部分给出完整的代码,就像您的方法不适用于我给出的示例script.src=“C:\Users\TTM\Desktop\selected\u txt.js”代码>你确定你的方法有效吗?@Mike,这是什么链接?我说的是document.createElement('script')
。我要求您使用上面给出的部分给出完整的代码,就像您的方法不适用于我给出的示例script.src=“C:\Users\TTM\Desktop\selected\u txt.js”代码>你确定你的方法有效吗?