私は彼がiframeの外に別の単語を選択した場合、単語iframe内に選択したユーザを選択解除するために、コードのこの部分を実行しています:javascriptのcollapseToStart()エラー
function getCurrentWord() {
var range;
var w = "";
if (document.selection) {
////IE
range = document.selection.createRange();
w = trim(range.text);
} else {
////NOTIE
w = trim(window.getSelection().toString());
}
if (w != "" && document.getElementById("frmBook")) {
var oTextRange;
if (document.selection) {
////IE
oTextRange = document.getElementById("frmBook").contentWindow.document.selection.createRange();
oTextRange.expand("word");
oTextRange.execCommand("unselect") ;
} else {
////NOTIE
oTextRange = document.getElementById("frmBook").contentWindow.getSelection();
oTextRange.collapseToStart();
}
}
if (w == "" && document.getElementById("frmBook")) {
if (document.selection) {
////IE
range = document.getElementById("frmBook").contentWindow.document.selection.createRange();
w = trim(range.text);
} else {
////NOTIE
w = trim(document.getElementById("frmBook").contentWindow.getSelection().toString());
/*
IF I PUT IT HERE IT DOESN'T SHOW AN ERROR
oTextRange = document.getElementById("frmBook").contentWindow.getSelection();
oTextRange.collapseToStart();
*/
}
}
return w;
}
を問題は私が手であります
タイムスタンプ:2012/09/05 12:20:42μμ エラー:キャッチされていない例外:[例外... "存在しないか、または存在しないオブジェクトを使用しようとしましたもはや使用可能な "コード:" 11 "nsresult:" 0x8053000b(NS_ERROR_DOM_INVALID_STATE_ERR) "場所:" http://192.168.0.88/test.js Line:295 "
そのエラーコードが
oTextRange.collapseToStart();
ラインであるときに生じます。
は、私はこのような単一の行でそれを実行しようとした:document.getElementById("frmBook").contentWindow.getSelection().collapseToStart();
しかし、私はのその部分を実行する場合
frmBookはインラインフレーム
のIDで同じエラーが出ます私はそれをコメントアウトしたエラーを引き起こすコード、それはエラーを表示しない、それは変だ!
私は何が間違っているのですか? 事前に感謝します
これは問題でした、ありがとう! – MIrrorMirror