簡體   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