Я пытаюсь использовать чистый Javascript (без jQuery) для прокрутки каждого iframe на странице, а затем проверить, содержит ли какой-либо из iframes выделенный (выделенный) текст. Затем отобразите предупреждение, показывающее выделенный текст. Кикер - это ... идентификаторы iframe не будут известны заранее. Следовательно, необходимо выполнить цикл через каждый iframe. FYI - iframe все находятся в одном домене, поэтому здесь нет проблем с междоменными доменами.Получение выделенного текста внутри любого iframe на странице
Я думаю, что мой код довольно близок к тому, что мне нужно, но сигары пока нет.
На странице загрузки, я это делаю ...
var iframes = document.getElementsByTagName('iframe');
for (var i = 0; i < iframes.length; i++) {
iframes[i].contentWindow.document.onmouseup = function() {
var iframeSelection = iframes[i].contentWindow.document.getSelection();
if (iframeSelection.toString().length > 0) { alert(iframeSelection); }
}
}
Также ... для этого конкретного проекта, он должен работать только в Chrome.
Спасибо!
Попробуйте без "contentWindow": EX вар iframeSelection = плавающие фреймы [я] .document.getSelection(); Кроме того, я считаю, что вам нужно запустить getSelection в «окне» вместо документа. – Bioto
Спасибо, но это не проблема, потому что я уже (успешно) тестировал получение выделенного текста внутри * single * iframe с помощью getElementById (при использовании contentWindow, document и т. Д.). Просто не могу понять, как это сделать, когда на странице есть _multiple_ iframes. – JustAnotherCoder