0

フォーラム用に jQuery を利用する GreaseMonkey スクリプトを作成しています。ページが伸びないように、投稿内の長い単語を強制的に分割しようとしています。

もともと私は次のようなものを持っていました:

        $('.post').html(function(i, v) {
            var edited = false;
            // Break tags, links, and line breaks into separate 
            var words = v.replace(/<span(.+)<\/script\>/gi, " ").replace(/\</ig, " ").replace(/http:[^ ]+/gi, " ").replace(/&[^;]+;/gi, " ").replace(/[\n|\r]/g, " ").split(" ");
            for (var ii = 0; ii < words.length; ii++) {
                if (words[ii].length > word_length) {
                    edited = true;
                    v = v.replace(words[ii], insert_breaks(words[ii]));
                }
            }
            if (edited) return v;
        });

このサイトには当然、各投稿内にさまざまな要素 (太字のタグ、アンカーなど) が含まれているため、それらを取り除いてテキストだけを残し、単語の長さ (前に定義したもの) をチェックし、単語を壊れた部分に置き換えます。 . 一部の投稿には、 のようにフォーマットされた JavaScript が含まれている<span>...</span><script>...</script>ことがあります。

私が抱えている問題は、単語が壊れて を返すvと、要素に含まれるネイティブ JavaScript が壊れ、GreaseMonkey スクリプトが要素の HTML を置き換えた後に停止することです。

CSS の使用方法がわかりませんword-break。幅を設定する必要があるためです。すべてのユーザーに設定することはできず、ページの読み込み時に幅を信頼できないためです。

4

1 に答える 1