2017-05-17 6 views
0

:Firefoxの警告でなぜwindow.getSelection()がfirefoxとchromeで違うのですか?

<div contenteditable="true"> ... text.... <img src="image.png" height="50" width="50" onmouseup="alert(window.getSelection().isCollapsed)"> ... text... </div> 

私がクリックした場合は(IMG上のmouseUp)言う: 'false' に、クロムの警告で は言う: '真'。 なぜ違うのですか?

(Firefoxは、選択したテキストがあることを示していると思われる):私はFirefoxの警告で(IMG上のmouseup)をクリックすると

<div contenteditable="true"> ... text.... <img src="image.png" alt="hello" height="50" width="50" onmouseup="alert(window.getSelection().toString())"> ... text... </div> 

言う: 'こんにちは'、クロムアラート内 は言います: ''。 Firefoxはなぜ「こんにちは」のテキストを選択したと言いますか? Firefoxは間違っていて、クロムはありません?

答えて

0

document/window.getSelectionの方法は、Google Chrome、Safari、Internet ExplorerではFirefoxとOperaよりも機能が異なります。 FirefoxとOperaで文字列を返し、Google Chrome、Safari、Internet ExplorerでselectionRangeオブジェクトを返します(document.getSelectionメソッドはGoogle Chrome、Safari、Internet Explorerのwindow.getSelectionメソッドと同じです)。そのため、このメソッドは使用しないでください。

+0

私のPCで、document/window.getSelectionメソッドは、firefox: 'alert(window.getSelection()。isCollapsed)'というオブジェクトも返します( 'anchorNode、anchorOffsetなど)'。それが文字列だった場合、 '.isCollapsed'を指定した 'window.getSelection()'は 'undefined'と表示されます... – trewius

+0

@trewiusだから、あなたが作業しているブラウザに応じて条件を設定する必要があります。しかし、とにかく私はこの方法の使用をお勧めしません。 – TheUnnamed

+0

@TheUnnamed window.getSelectionの代わりに他のソリューションをお勧めしますか?ありがとう。 – NuongNguyen

関連する問題