CMS「すぐ使えるCGI」の開発者がご質問にお答えします

 

画像付 ニュース更新ツール 大容量版 推奨ブラウザと添付ファイル (No. 1292)

回答日: 2013-02-08

質問

○製品名すぐ使えるCGI 画像付 ニュース更新ツール 大容量版 日本語UTF8
○バージョン  Ver 4.4 (デモ使用中)
○ご利用の環境(分る範囲、ご開示可能な範囲で)
winXP / chrome(24.0.1312.57 m)
○内容
・推奨のブラウザはなにですか?
chrome使用中、管理画面の一覧画面(admin/admin.cgi)をF5で更新した場合、
空の記事が追加されたり、直近で書き込んだ記事が空で上書きされてしまいます。
追加されるのはいいのですが書いた記事が消えてしまうのは問題ですので
このようなことが絶対に起こらない推奨ブラウザがありましたら教えてください。

・添付ファイル設置ができません…
サポートに書いてある方法で試しているのですが「許可されていないファイル名です。…」とエラーが出て
ファイルの添付ができません。

article_list.txt 内のソース(一部)は下記です。
-------
<div>
<a href="%_d_%/%_imagename_escaped_2_%" target="_blank" class="%_icon_class_2_%">
<img src="%_d_%/%_thumbnail_escaped_2_%" height="150" alt="%_imagetext_2_%"></a>

<a href="%_d_%/%_imagename_escaped_2_%" target="_blank" class="%_icon_class_2_%">
<img src="%_d_%/%_thumbnail_escaped_2_%" height="150" alt="%_imagetext_2_%"></a>

<a href="%_d_%/%_imagename_escaped_#_%" title="%_imagetext_#_%" class="%_icon_class_#_%">%_imagetext_#_%</a>
</div>
-------
予想では上記に変更後FTPすれば管理画面の3番目のファイル選択で添付できるようになると思っていたのですが…
画像の添付は動作確認済みです。

投稿日時: 2013-02-08 15:25

回答

「すぐ使えるCGI」のご利用ありがとうございます。

■ファイルアップロードの設定について

まず、ファイルアップロードの設定についてですが、サポート情報中のサンプルコードは、ファイル番号に置き換える場所が「#」という表記になっていますので、3番目のファイルについて設定する時はここを「3」にして下さい。

現在)
------------------------------------------------------------
<a href="%_d_%/%_imagename_escaped_#_%" title="%_imagetext_#_%"
class="%_icon_class_#_%">%_imagetext_#_%</a>
------------------------------------------------------------

変更後)
------------------------------------------------------------
<a href="%_d_%/%_imagename_escaped_3_%" title="%_imagetext_3_%"
class="%_icon_class_3_%">%_imagetext_3_%</a>
------------------------------------------------------------


■F5の更新について

F5で管理画面一覧ページを更新した時に記事が消えてしまう問題は、Ver. 4.4 と 4.5 にあるバグで、現在未対応です(Ctrl+R の場合も同じ)。
ご不便をおかけいたしまして申し訳ございません。

元から再読み込みで記事が重複したりエラーが出たりする問題がありましたので、運用上はページ上にある「一覧を最新に更新」のボタンを押していただくようにご案内しておりましたが、強制的にキーボードからの再読み込みの動作を止め問題を防ぐには、お手数ですが下記のコードを templates/admin/1.html の </BODY> の直前に追加して下さい。

この JavaScript は F5 と Ctrl+R の動作を停止します。
Firefox、IE、Chrome、Opera、Safari の手元のバージョンで取り急ぎ動作確認しております。
Safari については F5 の方の動作の停止ができなかったので、「一覧を最新に更新」ボタンによる再読み込みと同じ、問題の起きない再読み込みがされるように設定しました。

これでお使いの環境でも問題が起きないとよいのですが。お手数ですがお試し下さい。

追加コード)※既存の周辺コードもご参考までに含んでおります。
------------------------------------------------------------
<INPUT type="submit" onClick="return set_param('',9,4,0)" value="再構築(テンプレート変更反映)">

</FORM>
<!-- ここから追加 F5 と Ctrl+r によるリロードを抑える -->
<!-- safari の F5 の場合は問題の出ない再読み込みを行う -->
<script type="text/javascript">
var if_ctrl = 0;
var if_r = 0;
function catchkeydown(e){
    var pressKey;
    if (eval(e)){
        pressKey=e.keyCode;
    } else {
        pressKey=event.keyCode;
    }
    if(pressKey==17){ //ctrl
        if_ctrl=1;
        if(if_r==1){return false;}
    }
    if(pressKey==82){ //r
        if_r=1;
        if(if_ctrl==1){return false;}
    }
    if(pressKey==116){ //f5
        if (navigator.userAgent.match(/safari/i) && !navigator.userAgent.match(/chrome/i)){
            window.location="%_myname_%?n=%_n_%&i=%_i_%";
            return true;
        } else {
            return false;
        }
    }
}
function catchkeyup(e){
    var pressKey;
    if (eval(e)){
        pressKey=e.keyCode;
    } else {
        pressKey=event.keyCode;
    }
    if(pressKey==17){ //ctrl up
        if_ctrl=0;
        if(if_r==1){return false;}
    }
    if(pressKey==82){ //r
        if_r=0;
        if(if_ctrl==1){return false;}
    }
    if(pressKey==116){ //f5
        if (navigator.userAgent.match(/safari/i) && !navigator.userAgent.match(/chrome/i)){
            window.location="%_myname_%?n=%_n_%&i=%_i_%";
        } else {
            return false;
        }
    }
}
document.onkeydown = catchkeydown;
document.onkeyup = catchkeyup;
</script>
<!-- ここまで追加 F5 によるリロードを抑える -->

</BODY>
</HTML>
------------------------------------------------------------
回答日: 2013-02-08