[英]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.