私たちのサイトでは、Web ベースのリッチテキスト エディタであるFreeTextBoxを使用しています。Firefox ではなく IE で、ユーザーが次のように入力した場合:
誰か@何とか
IE は自動的にmailto
ハイパーリンクを作成します。私はこれを他のテキスト エディタでテストしましたが、ストーリーはそれらすべてで同じです。
このブラウザの動作をアプリケーション内から何らかの方法でオーバーライドできますか?
私たちのサイトでは、Web ベースのリッチテキスト エディタであるFreeTextBoxを使用しています。Firefox ではなく IE で、ユーザーが次のように入力した場合:
誰か@何とか
IE は自動的にmailto
ハイパーリンクを作成します。私はこれを他のテキスト エディタでテストしましたが、ストーリーはそれらすべてで同じです。
このブラウザの動作をアプリケーション内から何らかの方法でオーバーライドできますか?
これは、MSHTML エディターに関係しています。MSHTML エディターは、Windows ブラウザー (すべてだと思います) がリッチ テキスト エディターをインスタンス化するために使用します。自動リンクを実行するかどうかを決定できるIDM_AUTOURLDETECT_MODEという設定があり、デフォルトは true です (他のブラウザーは明らかにインスタンス化時に false に設定するため、Firefox では自動リンクは行われません)。
残念ながら、Microsoft は最近までコマンド ID からコマンド識別子文字列へのマッピングを持っていなかったため、IE9 より前の Javascript を介して関数にアクセスすることはできませんでした。
IE9で試してみたところ、そのバージョンとおそらく将来のすべてのバージョンで、呼び出して機能をオーバーライドできることを確認できます
document.execCommand("AutoUrlDetect", false, false);
これは IE9+ のみであるため、以前のバージョンにまだ行き詰まっていることに注意してください。また、DOM を呼び出す前に DOM がロードされるまで待ってから、その周りでエラー処理を行う必要があることに注意してください。