外部ファイルをロードせずに、単語数(任意のページ)のブックマークレットを作成しようとしています。要するに、ブックマークレットをクリックして、画面上のテキストをドラッグして選択し、選択した単語数でアラートを受け取ることができるようにしたいのです。私は正しい機能を得るためにこれをまとめましたが、ブックマークレットへの変換につまずいています:
<html>
<body onmouseup="countWords()">
<article id="page1">
<h1>Home 2</h1>
<p>Welcome 2</p>
<script type="text/javascript">
function countWords() {
var selectedText = document.activeElement;
var selection = selectedText.value.substring(selectedText.selectionStart, selectedText.selectionEnd);
words = selection.match(/[^\s]+/g).length;
if (words !== "") {
alert(words);
}
}
</script>
<div><textarea></textarea></div>
</article>
</body>
</html>
最初の問題:間違ったツリーを吠えている可能性がありますが、onmouseupをactiveElementにアタッチしたかったのですが、これを行う方法がわかりません。
2番目の問題:外部ファイルを使用せずにこれをブックマークレットに挿入できますか?
どんな援助でも大歓迎です。
一番、
タムラー
エスケープ文字...それが問題でした。
実例は次のとおりです。
<a href="javascript:(document.onmouseup=function(){var selectedText=document.activeElement;var selection=selectedText.value.substring(selectedText.selectionStart,selectedText.selectionEnd);words=selection.match(/[^\s]+/g).length;if(words!==""){alert(words)}})();" target="_blank">Word Count</a>