繁体   English   中英

如何使用 js 在 iframe src 中抓取点击的单词?

[英]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时,您将引用执行代码的窗口。 但是,您似乎想引用iframewindow

尝试使用 iframe 的contentWindow属性来设置侦听器、 getSelection等。

只有当两个页面的来源完全相同时,它才会起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM