0
我正在寫一個利用jQuery進行論壇的GreaseMonkey腳本。我試圖強迫帖子中的長詞打破,以避免伸展頁面。在Greasemonkey腳本中強制使用jQuery進行單詞換行?
我原本是這樣的:
$('.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
,因爲我需要設置一個寬度 - 這是我無法爲每個用戶設置的寬度,因爲我無法相信頁面加載時的寬度。