SQLの窓 イラストAC フリー素材

2019年01月04日

Seesaa(またはさくらのブログ) の記事の一括編集内で、各種の設定を一括変更する為のブックマークレット

※ さくらのブログに広告の表示はありません

一括編集状態で実行する必要があります




Sessaa 一括変更

一括編集タブで使用します。検索結果でもいいですし、単純に200件表示でもいいです。

カテゴリの一括変更では、記事一覧を検索で絞ってから一括変更するといいと思います。カテゴリ番号は、そのカテゴリを表示した時の URL の最後の文字列( 例 : 7154748-1.html )のハイフン以降を除いた数字です。
( カテゴリID を数字に変更してカテゴリ変更をクリックします )


javascript:var wnd=document.createElement('iframe');wnd.setAttribute('id','if');wnd.frameBorder=0;document.body.appendChild(wnd);wnd.contentWindow.document.write('<script src=\'https://winofsql.jp/s01.js\' charset=\'shift_jis\'></script>')

// plugin Bookmarklet
// by lightbox

parent.document.getElementById("if").style.position='absolute';
parent.document.getElementById("if").style.width='300px';
parent.document.getElementById("if").style.height='34px';
parent.document.getElementById("if").style.left='0px';
parent.document.getElementById("if").style.top='0px';
parent.document.getElementById("if").style.zIndex=100;
var sLocation = parent.location.host;
var sUrl = parent.location.href;
var doc = parent.document;
var tds = doc.getElementsByTagName("form");
var len = tds.length;
var cnt = 0;
var add = null;
for( i = 0; i < len; i++ ) {
	if ( tds[i].name == 'search_form' ) {
//		cnt++;
//		if ( cnt == 2 ) {
			add = tds[i];
//		}
	}
}
var place = doc.createElement('div');
add.appendChild(place);
str="";
str+="<select id=changetype style=margin-left:5px;> \n";
str+="<option value=\"0\" title=\"受付×/表示×\">×/×</option> \n";
str+="<option value=\"1\" title=\"受付○/表示○\">○/○</option> \n";
str+="<option value=\"2\" title=\"受付×/表示○\">×/○</option> \n";
str+="<option value=\"3\" title=\"受付○(承認制)\">承認制</option> \n";
str+="</select> ";

str+="<select id=changetype2> \n";
str+="<option value=\"0\" selected=\"selected\">無効 / 公開</option> \n";
str+="<option value=\"1\" >有効 / 非公開</option> \n";
str+="</select> ";

str+="<INPUT type=button value='コメント' onClick='wnd.contentWindow.changeTarget(0)'>";
str+="&nbsp;<INPUT type=button value='公開設定' onClick='wnd.contentWindow.changeTarget(1)'>";
str+="&nbsp;<INPUT type=button value='広告の表示' onClick='wnd.contentWindow.changeTarget2()'>";
str+="&nbsp;<INPUT id='target_cat' type=text value='カテゴリID' onclick='this.select();' style='width:80px;'>";
str+="&nbsp;<INPUT type=button value='カテゴリ変更' onClick='wnd.contentWindow.changeTarget3()'>";
place.innerHTML = str


str="";
str+="<head> \n";
str+="<META http-equiv=\"Content-Type\" content=\"text/html; charset=shift_jis\" /> \n";
str+="<style type=text/css> \n";
str+="body { margin:0;background-color:forestgreen;color:white; } \n";
str+="</style> \n";
str+="</head> \n";
str+="<body> \n";

str+=" plugin Bookmarklet by lightbox\n";

str+="</body> \n";

document.write( str );
document.close();

var userAgent = window.navigator.userAgent.toLowerCase();
var appVersion = window.navigator.appVersion.toLowerCase();

function changeTarget(type) {

	var sels = doc.getElementsByTagName("select");
	var len = sels.length;
	var name,namelen,target;
	var value = doc.getElementById("changetype").value;

	// コメント
	if( type == 0 ) {

		for( i = 0; i < len; i++ ) {
			name = sels[i].name;
			namelen = name.length;
			target = name.substr(namelen-7,7)
			if ( target == 'comment' ) {
				doc.getElementsByName(name)[0].value = value;
			}
		}

	}
	// 公開・非公開
	if( type == 1 ) {

		value = doc.getElementById("changetype2").value;
		if ( value == 0 ) {
			value = 1;
		}
		else {
			value = 0;
		}

		for( i = 0; i < len; i++ ) {
			name = sels[i].name;
			namelen = name.length;
			target = name.substr(namelen-4,4)
			if ( target == 'flag' ) {
				doc.getElementsByName(name)[0].value = value;
			}
		}

	}

}
function changeTarget2() {

	var sels = doc.getElementsByTagName("select");
	var len = sels.length;
	var name,namelen,target;
	var value = doc.getElementById("changetype2").value;

	for( i = 0; i < len; i++ ) {
		name = sels[i].name;
		namelen = name.length;
		target = name.substr(namelen-4,4)
		if ( target == 'link' ) {
			doc.getElementsByName(name)[0].value = value;
		}
	}
}


function changeTarget3() {

	var sels = doc.getElementsByTagName("select");
	var len = sels.length;
	var name,namelen,target;
	var value = doc.getElementById("target_cat").value;

	for( i = 0; i < len; i++ ) {
		name = sels[i].name;
		namelen = name.length;
		target = name.substr(namelen-12,4)
		if ( target == '_cat' ) {
			doc.getElementsByName(name)[0].value = value;
		}
	}
}



更新履歴
2012-02-29 : カテゴリID を追加してからの初回投稿
2013-08-23 : 最新の Seesaa と さくらのブログで動作チェック
2015-07-06 : Seesaa と さくらが同じになっていたので、さくら専用を削除
2019-01-04 : 最新の Seesaa と さくらのブログで動作チェック




posted by at 2019-01-04 10:38 | ブックマークレット | このブログの読者になる | 更新情報をチェックする

2015年06月19日

ジョークブックマークレット : ページの回転 ( jQuery アニメーション )

Twitter は既に jQuery が使われているので、以下の比較的単純なブックマークレットで回転します。
( 一般ページ用ではエラーになります )
▼ ブックマークレット登録用リンクです。
Twitter 用ページ回転
javascript:jQuery({kakudo: 0}).animate({kakudo:360},{duration:3000,easing:'swing',step:function(now){jQuery(document.body).css({transform:'rotate('+now+'deg)'});}});



▼ 一般ページ用ブックマークレット登録用リンクです。
ページ回転

新たに、回転中に CTRL キーを押すと、回転の中心をブラウザの見えている部分の一番上(スクロールバーが一番上)の中心に変更するようにしました。

jQuery の回転アニメーション をページ対象で、ブッマークレットに仕込みました。何の役にも立ちませんが、こういうことが簡単にできる時代ではあります。
▼ jquery_joke_01.js
str="";
str+="<"+"script> \n";
str+="if ( window.addEventListener ) { \n";
str+="	window[window.location.hostname+'.loadjQuery'] = '//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js'; \n";
str+="} \n";
str+="else { \n";
str+="	window[window.location.hostname+'.loadjQuery'] = '//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js'; \n";
str+="} \n";
str+="document.write(\"<\"+\"script src=\\\"\" + window[window.location.hostname+'.loadjQuery'] + \"\\\"></\"+\"script>\"); \n";
str+="</"+"script> \n";
document.write(str);
function joke_start() {
	$({kakudo: 0}).animate(
		{kakudo: 360},
		{
			duration: 3000,
			easing: "swing",
			step: function(now) {
				$(parent.document.body).css({
					transform: 'rotate(' + now + 'deg)'
				});
			}
		}
	);
}
str="";
str+="<"+"script> \n";
str+="joke_start(); \n";
str+="$(parent).keydown(function(event){ \n";
str+="	if ( event.ctrlKey ) { \n";
str+="		console.log(event) \n";
str+="		$(parent.document.body).css({ transformOrigin: '50% ' + parent.document.documentElement.clientHeight/2 + 'px' }); \n";
str+="	} \n";
str+="}); \n";
str+=" ";
str+="</"+"script> \n";
document.write(str);
document.close();

とりあえず、Google Chrome、Firefox、IE11( IE10エミュレーション ) では動作しました。

▼ ブックマークレット部分の整形したもの
if (!window['_bI']) {
    window._bI = {}; (function(w, h, b, l, t, z, v) {
        var wnd = document.createElement('iframe');
        with(wnd) {
            id = 'my';
            frameBorder = b;
            width = w;
            height = h;
            with(style) {
                position = 'absolute';
                left = l;
                top = t;
                zIndex = z;
                display = v;
                border = 'solid 1px #000';
                borderRadius = '10px';
            }
        }
        document.body.appendChild(wnd);
        window._bI.wnd = wnd;
        var % 20url;
        if ((location.href).substr(0, 5) == 'https') {
            url = 'https://secure624.sakura.ne.jp/fire30.winofsql.jp/jquery_joke_01.js';
        } else {
            url = 'http://toolbox.winofsql.jp/jquery_joke_01.js';
        }
        wnd.contentWindow.document.write('<' + 'script src=\'' + url + '\' charset=\'utf-8\'></' + 'script>');
    })(0, 600, 1, '0px', '0px', 1000, '');
} else {
    document.getElementById('my').contentWindow.joke_start();
}
関連する記事


posted by at 2015-06-19 13:37 | ブックマークレット | このブログの読者になる | 更新情報をチェックする

2014年07月12日

WEB上の文章を選択して画像化(HCP丸ゴシック)するブックマークレット / サービス先でフォントの種類は自由に変更できます

▼ 文章を自動改行して、ブログとかに貼りつけるのを目的としたインイストール用リンクです
改行コードを取り除くようにしました( HCP丸ゴシックの場合、サービス先では20文字枚に改行されます )

こんな感じで
▼ 青柳隷書しも用インイストール用リンクです
※ 青柳隷書しもでは、4文字を想定した大きさにしていますが、選択した文字列は全て転送されます。

ブラウザ上で文字列を選択して実行すると、その文字列の改行コードを取り除いて、HCP丸ゴシックではあらためて20文字枚に改行して、フリーフォントで簡単ロゴ作成で表示します。

『フリーフォントで簡単ロゴ作成』の入力仕様にパラメータを追加して利用できるようにしています。ブックマークレットの仕様としては、ブラウザ上で文字を選択してブックマークレットを起動するだけです

★ 青柳隷書しもでは表示されない漢字もあるので、その時はフォント変更が必要です


posted by at 2014-07-12 15:07 | ブックマークレット | このブログの読者になる | 更新情報をチェックする

jQuery ページアニメーション : 斜めページ / ジョークブックマークレット


▼ ブックマークレット登録用リンクです。
斜めページ


どのような効果がでるかのサンプルブックマークレットです。

1) skew で並行四辺形にして、
2) 回転して縦に表示して
3) 幅を縮小してページにおさまるように
4) 影を付けて見やすく

このうち、1) と 2) と 3) はいずれも transform なので、同時に設定する必要があるので、注意が必要です。1) と 2) は同じ増分で目的を達成できるのですが、3) は、全く違うので、式((100-now)/100)を作って調整しています。

また、処理の中心(transformOrigin)を最初に変更して、ページの左上がページの先頭に一致するようにしています。
str="";
str+="<"+"script> \n";
str+="if ( window.addEventListener ) { \n";
str+="	window[window.location.hostname+'.loadjQuery'] = '//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js'; \n";
str+="} \n";
str+="else { \n";
str+="	window[window.location.hostname+'.loadjQuery'] = '//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js'; \n";
str+="} \n";
str+="document.write(\"<\"+\"script src=\\\"\" + window[window.location.hostname+'.loadjQuery'] + \"\\\"></\"+\"script>\"); \n";
str+="</"+"script> \n";
document.write(str);
function joke_start() {
	$({kakudo: 0,shadow: 0}).animate(
		{kakudo: 45,shadow: 40},
		{
			duration: 3000,
			easing: "swing",
			step: function(now,tween) {
				if ( tween.prop == 'kakudo' ) {
					$(parent.document.body).css({
						transform: 'skew(' + now + 'deg) rotate(' + now + 'deg) scaleX(' + (100-now)/100 + ')'
					});
				}
				if ( tween.prop == 'shadow' ) {
					$(parent.document.body).css({
						boxShadow: now + 'px '+ now +'px '+ now + 'px '+ now + 'px rgba(0, 0, 0, 0.5)'
					})
				}
			}
		}
	);
}
str="";
str+="<"+"script> \n";
str+="joke_start(); \n";
str+="$(parent.document.body).css({ transformOrigin: '50% 850px' }); \n";
str+=" ";
str+="</"+"script> \n";
document.write(str);
document.close();

関連する記事

ジョークブックマークレット : ページの回転 ( jQuery アニメーション )


タグ:javascript jquery
posted by at 2014-07-12 14:54 | ブックマークレット | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します