Este js permite copiar una palabra en la que se hizo clic en un elemento html para var "str". Pero quiero tomar una palabra en un iframe src. Modifiqué el js para apuntar a la identificación de iframe #USCF_CUST y tomé la palabra en la que se hizo clic, pero parece que no funciona. La palabra en la que se hizo clic no se selecciona y se copia en var "str". puede alguien decirme por que?
<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); });Pero el js anterior no funciona (no hace nada) en este caso:
<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); });Cuando escribe window , hace referencia a la ventana donde se ejecuta el código. Sin embargo, parece que desea hacer referencia a la window de iframe .
Intente usar la propiedad contentWindow de iframe para configurar oyentes, getSelection , etc.
Solo funcionará si el dominio de ambas páginas es exactamente el mismo.