순수한 Javascript (jQuery 없음)를 사용하여 페이지의 각 iframe을 반복 한 다음 iframe에 강조 표시된 (선택된) 텍스트가 포함되어 있는지 확인하려고합니다. 그런 다음 강조 표시된 텍스트를 보여주는 경고를 표시합니다. 키커는 ... iframe의 ID는 미리 알려지지 않을 것입니다. 따라서 각 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에서만 작동하면됩니다.
감사!
iframe 및 선택 코드는 괜찮지 만 루프 와 함께 일반적인 JavaScript 실수 를 for
겪고 있습니다. 이벤트 핸들러 함수가 실행될 때와 i
항상 동일 iframes.length
합니다.
다음을 반복하여 피할 수 있습니다 Array.prototype.forEach
.
var iframes = document.getElementsByTagName('iframe');
[].forEach.call(iframes, function(frame) {
frame.contentWindow.document.onmouseup = function() {
var iframeSelection = frame.contentWindow.getSelection();
if (iframeSelection.toString().length > 0) { alert(iframeSelection); }
}
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다