- 423 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/04(月) 23:23:05 ID:AbalSG7v0]
- >>421
// URL_Breaker2.uc.js: for Firefox 2.0.* - 3.0,* by otokiti 07/02/19 window.addEventListener('DOMContentLoaded', function(evt) { var tabs = gBrowser.tabContainer; for(var i=0; i<tabs.childNodes.length; i++){ var tab = tabs.childNodes[i]; var doc = gBrowser.getBrowserForTab(tab).contentDocument; var html = doc.getElementsByTagName("html")[0]; if(!html.hasAttribute("__url_breaker_done")){ html.setAttribute("__url_breaker_done", "1"); if (doc.contentType == 'text/html') { var s1,s2,pNode,cNode,nNode,j; const threshold = new RegExp(/[\x21-\xff]{50}/); const wrapChr = new RegExp(/([\/\?\)\]}\-・」!・、,.:=>・。;_])|([&%#$~'"・「\({\[])/g); const dmyChr = new RegExp(/<dummyWBR><dummyWBR>/g); const avoidElm = new RegExp(/TITLE|STYLE|FORM|SCRIPT|INPUT|TEXTAREA|PRE|OPTION|XMP/); try{ var walker = doc.createTreeWalker(doc.body, NodeFilter.SHOW_TEXT, null, true); while (cNode = walker.nextNode()){ s1 = cNode.nodeValue; pNode = cNode.parentNode; if (pNode.nodeName.match(avoidElm) || !s1.match(threshold)) continue; s1 = s1.replace(wrapChr, '$1<dummyWBR>$2').replace(dmyChr, '<dummyWBR>'); s2 = s1.split('<dummyWBR>'); cNode.nodeValue = s2.pop(); for (j=0; j<s2.length; j++){ nNode = doc.createTextNode(s2[j]); pNode.insertBefore(nNode, cNode); nNode = doc.createElement('WBR'); pNode.insertBefore(nNode, cNode); } } }catch(e){} } } } }, true);
|

|