ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: Greasemonkey
名前: lightbox
処理選択
パスワード

件名 Greasemonkey
名前 lightbox
コメント
@C:red(Seesaa の記事投稿ボタンを追加)

@DIV
https://developer.mozilla.org/ja/DOM/element.insertBefore(insertBefore) は、要素をどこかに持って行きたい時に使う常套手段で、いれたい位置のノード
を取得して( id がなければhttps://developer.mozilla.org/ja/DOM/element.getElementsByTagName(コレクション)からループして条件を考えて取得 )、その親ノードを取得すれ
ば、直前に挿入できます。後ろに挿入が必要になるのは一番最後なので、その場合は https://developer.mozilla.org/ja/DOM/element.appendChild(appendChild)
を使います

SHIFT_JIS は、インストール後に化けたので、UTF-8N がいいと思います。それとは関係なしに
日本語文字列データは unicode で指定しないと思った結果になりません。
( http://winofsql.jp/php/cnvtext/frame.htm の unicode で作成します )

※ \u4fdd\u5b58 => 保存


clickOrgButton では、本来の保存ボタンをクリックする為に、コレクションから探し出して
@C:red(dispatchEvent) で click イベントを直接呼び出しています。その際、ボタンを決定する為に
value の値が "保存する" である事を条件にしていますが、ここでも unicode が必要になります

※ http://logicalerror.seesaa.net/article/120088841.html(クリックの代替 ; イベントの呼び出し )
@END

@DIV
// ==UserScript==
// @name           Seesaa Entry
// @namespace      http://winofsql.jp
// @description    Seesaa Entry Extentions
// @include        http://blog.seesaa.jp/pages/my/blog/article/regist/input*
// @include        http://blog.seesaa.jp/pages/my/blog/article/edit/input*
// ==/UserScript==

var i;

// この前に挿入( 入力テキストエリア )
var tag = document.getElementById("article__body");
var parentTarget = tag.parentNode;

// 入力エレメントを作成
var obj = document.createElement("INPUT");
// 送信ボタン
obj.setAttribute( "type", "button" );
// 保存する( unicode )
obj.setAttribute( "value", "\u4fdd\u5b58" );

// 挿入
obj = parentTarget.insertBefore( obj, tag )

// 位置調整
obj.style.marginLeft = "480px";
obj.addEventListener("click",clickOrgButton,false);

function clickOrgButton(){


	var is = document.getElementsByTagName("INPUT")
	var i,str;
	var clickevent;

	for( i = 0; i < is.length; i++ ) {
		str = is[i].getAttribute("value");
		if ( str == "\u4fdd\u5b58\u3059\u308b" ) {
			clickevent=document.createEvent("MouseEvents");
			clickevent.initEvent("click", true, true);
			is[i].dispatchEvent(clickevent);
			break;
		}
	}


}
@END

https://developer.mozilla.org/ja/DOM/element.addEventListener(addEventListener)