1
我正在製作一個可移植文檔,使用純html和javascript,它應該是跨瀏覽器兼容的。我將搜索/熒光筆框和結果頁放在不同的框架中。它在ie,ff和chrome(使用disable-web-security參數)中都可以正常工作,但會在Opera中引發錯誤。我不知道這是爲什麼,這怎麼能解決。Opera從selectNode內容拋出DOMException
任何幫助表示讚賞。
從那裏歌劇院拋出異常的函數:
function selectElementContents(el) {
if (window.getSelection && document.createRange) {
var sel = window.getSelection();
var range = document.createRange();
range.selectNodeContents(el);
sel.removeAllRanges();
sel.addRange(range);
} else if (document.selection && document.body.createTextRange) {
var textRange = document.body.createTextRange();
textRange.moveToElementText(el);
textRange.select();
}
}
Opera的錯誤控制檯:
Uncaught exception: DOMException: WRONG_DOCUMENT_ERR
Error thrown at line 56, column 8 in selectElementContents(el) in xy.js:
range.selectNodeContents(el);
你違反了跨域策略。但沒有代碼很難說在哪裏。如果可以,請添加jsfiddle。 – c69
我會嘗試添加一個jsfiddle ...在這之前,有沒有辦法在opera中禁用這個安全選項?有鉻的參數...在Firefox上它的工作原理,即它需要一個網絡愚蠢的標誌,阻止PDF/XLS鏈接打開... – obeliksz
我不能做jsfiddle,因爲它有幀。 。也許如果高亮功能不是一個幀間函數,它會起作用。該腳本從左框架中調用,並在容器框架中突出顯示單詞。 – obeliksz