パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

bookmarklet: Wrap! ― 長い1byte文字列を折り返す(Mozilla)」記事へのコメント

  • javascript:
    threshold = new RegExp(/[\x21-\xff]{50}/);
    wrapChr = new RegExp(/([\/\?])|([&%])/g);
    avoidElm = new RegExp(/SCRIPT|INPUT|TEXTAREA|OPTION/);
    var walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, null, true);

    while (cNode = walker.nextNode()) {
        s1 = cNode.nodeValue;
        pNode = cNode.parentNode;
        pNodeName = pNode.nodeName;

        if (!pNodeName.match(avoidElm) && s1.match(threshold)) {
            s1 = s1.replace(wrapChr, '$1<dummyWBR>$2');
            s2 = s1.split('<dummyWBR>');
            cNode.nodeValue = s2.pop();

            for (i=0; i<s2.length; i++) {
                nNode = document.createTextNode(s2[i]);
                pNode.insertBefore(nNode, cNode);
                nNode = document.createElement('WBR');
                pNode.insertBefore(nNode, cNode);
            }
        }
    }

    document.body.style.width = '100%';
    focus();

アレゲはアレゲを呼ぶ -- ある傍観者

処理中...