Style Keeper はリファラを参照しプレビューされていたテンプレートでリロードする passive type がオリジナルですが、プラグインとして用いる事を想定して開発された active type (頁内の自blogリンクをプレビュー指定付きに書き換える) も存在します。
勿論これも対応させていただくつもりですが、プラグイン版 Style Keeper の改定に先立ちまして まずこちらでソースを公開。
<script type="text/javascript"><!--
function Keep() {
var S=location.search;
if ( S=="" ) {return}
var T=new Array("style=","style2=","style3=","share=","public=","template=","file/","-images");
var M=""; for(i=0;i<6;i++){ if ( S.indexOf(T[i],0)>0) {M=T[i]} }
if ( M=="" ) return;
M="&"+M+S.split(M)[1].split("&")[0].split("#")[0];
var A=document.getElementsByTagName('a'); var B='<%url>';
for ( i=0; i<A.length; i++ ) {
var U = A[i].href; var H="";
if (U.indexOf(B)==-1 || U==B ) continue;
U=U.split(B)[1];
for(j=0;j<8;j++){if (U.indexOf(T[j])>0) H="h"}
if (H!="") continue;
if (U.indexOf('#')>0) { var p=U.split('#'); U=p[0]; H="#"+p[1] }
if (U.indexOf('.html')>0) { U=U.split('.html')[0];
S='arhives'; if (U.indexOf(S)!=-1) {U='?all' }
S='page-'; if (U.indexOf(S)!=-1) {U='?page='+U.split(S)[1] }
S='blog-entry-'; if (U.indexOf(S)!=-1) {U='?no='+U.split(S)[1] }
S='blog-date-'; if (U.indexOf(S)!=-1) {U='?date='+U.split(S)[1] }
S='blog-category-';if (U.indexOf(S)!=-1) {U='?cat='+U.split(S)[1] }
S='category'; if (U.indexOf(S)!=-1) {
var p=U.split(S)[1].split('-'); U='?cat='+p[0]+'&page='+p[1]
}
} A[i].href = B + U + M + H;
} }
window.onload=Keep;
//--></script>
【 設置法 】 新旧どちらの方式のプレビューでも有効です。
今回お示ししたソースではTOP頁へのリンクにはテンプレート指定を付加しません
( 初期頁を表示するとプレビューが解除されます )
(フリーエリア等の)プラグイン HTML部に上記ソースを書けばそのまま作動します。(筈)
このスクリプトの他に 頁ロード完了時に作動する(より重要な)スクリプトを利用されている場合はカテゴリ3などページソース末尾(近く)に表示させるようにし、
この色の部分を Keep(); としても使用できます
| . |