tohokuaikiのチラシの裏

技術的ネタとか。

Confluenceでリンクを再度編集しようとしてたら文字化けになってしまうバグの対応

Confluenceでリンクを設定してその後で編集しようとして
f:id:tohokuaiki:20141128194620p:plain
数値参照になってしまうのは昔から困ったバグなのですが、なかなか直りません*1

こんな感じで困ってらっしゃる方もいらっしゃいます。
リンク編集時の文字化け - GakuNinmAPpublic - meatwiki

根本的な対応ではないのですが、とりあえず

管理画面から、カスタムHTMLののところにこのJavaScript貼ってみてください。

<script type="text/javascript">
AJS.$.ajaxSettings.complete = (function($){
    return function(xhr, status){
        var _r = function(text){
            if (typeof(text) == "string"){
                while(text.match(/&#([0-9]+?);/) ){
                    text = text.replace(/&#([0-9]+?);/, String.fromCharCode(RegExp.$1));
                }
                return text;
            }
            return "";
        };
        $('#insert-link-dialog #link-search-text').val(_r($('#insert-link-dialog #link-search-text').val()));
    };
})(AJS.$);
</script>

こんな感じですね。
f:id:tohokuaiki:20141128194610p:plain

多分他の箇所に影響ないとは思いますが・・・・。

追記

昔設定したConfluenceにこんなのあった。これでもいい・・・のか?

<script type="text/javascript">
var link_search_text_interval = setInterval(function() {
    var tmpdomid = "kod-html-entity-decoded-dom";
    var v = "<div id='"+tmpdomid+"'>"+$('#link-search-text').val()+"</div>";
    $('body').append(v);
    $('#link-search-text').val($('div#'+tmpdomid).html());
    $('#'+tmpdomid).remove();
}, 1000);
</script>

*1:正確には一時直ったらしいのだけどまたエンバグしたらしい