って選択されたテキストブラウザでクロスプラットフォーム

StackOverflow https://stackoverflow.com/questions/10478

  •  08-06-2019
  •  | 
  •  

質問

ついに私のブラウザによるアプリケーションを与えることができ、ユーザが選択テキストにない <textarea>、ol'テキスト!), として用ポップアップの小さなツールバーが、それらと交流できる、次の(私の場合、アノテーションの追加).

私は、見直す点が多かったものではgoogleのような注目すべき書面にWYSIWYG編集者、 ったんだい, で、でたところ、うまくいったので退屈なFF2または3です。理想的には、そういった一部の機能を返し、現在選択されたテキストにブラウザのウィンドウを作ること IE7(6可能な場合)、FireFox2&3Safari2.場でオペラにいるボーナスがありません。

誰でも機能を持っているところなのか。やアイデアのトリートメントスペース

役に立ちましたか?

解決

してい jQuerywrapSelectionプラグイン.こうしたものです。

他のヒント

このjQueryプラグインはその達成に非常に特定のタスク:ラップ、テキストで見るタグです。この場合だと考えている。だいたい(または状況ができません)を追加無縁のマークアップをページでは、いように以下のソリューションではなく:

function getSelectedText() {
  var txt = '';

  if (window.getSelection) {
    txt = window.getSelection();
  }
  else if (document.getSelection) {
    txt = document.getSelection();
  }
  else if (document.selection) {
    txt = document.selection.createRange().text;
  }
  else return; 

  return txt;
}

この機能を表すオブジェクトを返しテキスト。では作品全体のブラウザが疑いので返しますが多少異なるブラウザによってのみを頼りになるため、実際のテキストの結果ではなく、追加のです。

注意:私はもともとることを発見しコードの抜粋はこちら http://www.codetoad.com/javascript_get_selected_text.asp

導入範囲 は一部の内容については異なるブラウザでアクセスのテキスト。

私の経験が働き、これらの異なるApiを直接は不器用なものなので wrapSelection すなったと思います。

これらの日本法 必要十分な:

function getSelectedText() {
    return window.getSelection ? window.getSelection().toString() : '';
}

に戻りま '' に多少の古いブラウザおよびアップが発生する可能性がありの場合はオペラミニ(試験されるものの、老朽化)+注UCのブラウザAndroid.

行動の個別のブラウザについて選択 についてご紹介して.

このコードにサファリ、IE、Firefoxっていることがでの

var str = (window.getSelection) ? window.getSelection() : document.selection.createRange();
str = str.text || str;
str = str + ''; // the best way to make object a string...
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top