[英]How can I grab a clicked word in an iframe src with js?
此 js 允许将 html 元素中的点击单词复制到 var "str"。 但我想在 iframe src 中抓取一个单词。 我修改了 js 以定位 iframe id #USCF_CUST 并抓取点击的单词,但它似乎不起作用。 单击的单词未选择并复制到 var "str"。 谁能告诉我为什么?
<div class = "clickable">The rain in Spain falls mainly in the plane.</div>
$(".clickable").click(function(e) {
s = window.getSelection(); var range = s.getRangeAt(0); var node = s.anchorNode;
while (range.toString().indexOf(' ') != 0) {range.setStart(node, (range.startOffset - 1));}
range.setStart(node, range.startOffset + 1);
do {range.setEnd(node, range.endOffset + 1);}
while (range.toString().indexOf(' ') == -1 && range.toString().trim() != '');
str = range.toString().trim(); alert (str);
});
但是在这种情况下,上面的 js 不起作用(它什么也不做):
<iframe id = 'USCF_CUST' src= url_2 ></iframe>
$("#USCF_CUST").click(function(e) {
s = window.getSelection(); var range = s.getRangeAt(0); var node = s.anchorNode;
while (range.toString().indexOf(' ') != 0) {range.setStart(node, (range.startOffset - 1));}
range.setStart(node, range.startOffset + 1);
do {range.setEnd(node, range.endOffset + 1);}
while (range.toString().indexOf(' ') == -1 && range.toString().trim() != '');
str = range.toString().trim(); alert (str);
});
当您编写window
时,您将引用执行代码的窗口。 但是,您似乎想引用iframe
的window
。
尝试使用 iframe 的contentWindow
属性来设置侦听器、 getSelection
等。
只有当两个页面的来源完全相同时,它才会起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.