SQLの窓

2018年01月06日


IE拡張 : リンク下の情報を取得してクリップボードへコピー


インストールは AppData\Roaming\laylaClass に行われます。
アンインストールは、同梱の uninstall.reg をエクスプローラからダブルクリックして下さい

上記 .reg でレジストリより削除します。
実行ファイル(anchor_url.htm)は、AppData\Roaming\laylaClass\menuex 内より削除して下さい。
※ 実行ファイル(anchor_url.htm)は、削除しなくても Windows には影響ありません)
IE拡張メニューです。 ページ上で右クリックして表示されるポップアップメニューから起動される IE 専用アプリケーションです。 ▼一例▼ Ieex_menu
画像、テキストリンク兼用です。

通常は、リンクされている部分の URL を取得します

<a href="url">タイトル</a>
<a href="url"><img src="url"></a>

※ 画像のみの場合は、画像の URL を取得
<img src="url">

SHIFT キーを押しながらだとリンクの HTML を全て取得します

<a href="url"><b>タイトル</b></a>

CTRL キーを押しながらだと現在のA要素のHTMLを全て取得します

<a href="url"><b>タイトル</b></a>

<JOB>
<COMMENT>
************************************************************
IE 拡張メニューインストーラ

■アンカー下 URL 取得

テキストリンクと画像専用です。

通常は、リンクされている部分の URL を取得し、
SHIFT キーを押しながらだとリンクの内側を取得します
CTRL キーを押しながらだと、現在の A 要素の内部の情報を全て取得します

■著作権その他

このプログラムはフリーです。どうぞ自由に御使用ください。
著作権は作者である私(lightbox)が保有しています。
また、本ソフトを運用した結果については、作者は一切責任を
負えせんのでご了承ください。
************************************************************
</COMMENT>

<SCRIPT
	language="VBScript"
	src="http://lightbox.in.coocan.jp/laylaClass.vbs">
</SCRIPT>

<SCRIPT language=VBScript>
' ***********************************************************
' 処理開始
' ***********************************************************
Call laylaFunctionTarget( "http://lightbox.in.coocan.jp/" )
Call laylaLoadFunction( "baseFunction.vbs" )

' //////////////////////////////////////////////////////////
' インストール時の表示名
strProgName	= "リンクのURL"
' インストールファイル名( 拡張子は .htm となる )
strProgFile	= "anchor_url"
' メニューとウインドウのタイトルに表示する文字列
' レジストリに登録するのでユニークである必要があります
strRegName	= strProgName
' 対象となるコンンテンツ
nTargetType 	= &H22
' &H3F : UNKNOWNを除く全て
' &H1  : DEFAULT
' &H2  : IMAGE
' &H4  : CONTROL
' &H8  : TABLE
' &H10 : TEXTSELECT
' &H20 : ANCHOR
' &H40 : UNKNOWN

' 画面ありかどうか
bIsGUI = False
' //////////////////////////////////////////////////////////



' Csript.exe で実行を強制
Crun

print strProgName & " をインストールします"
if not OkCancel( "インストールしてもよろしいですか?" ) then
	Wscript.Quit
end if

' ファイルシステムオブジェクト作成
GetFso

' 問題をできるだけ避ける為にc ドライブ固定(必要ならばここを変更)
strPath =  GetShellDir( &h1a )
strInstallPath1 = strPath & "\laylaClass"
strInstallPath2 = strInstallPath1 & "\menuex"
strInstallPath3 = strInstallPath2 & "\" & strProgFile & ".htm"
on error resume next
if not Fso.FolderExists( strInstallPath1 ) then
	Call Fso.CreateFolder( strInstallPath1 )
	if Err.Number <> 0 then
		ErrorFlg = True
	end if
end if
if not Fso.FolderExists( strInstallPath2 ) then
	Call Fso.CreateFolder( strInstallPath2 )
	if Err.Number <> 0 then
		ErrorFlg = True
	end if
end if
on error goto 0

Call PutTextFile( strInstallPath3, _
Replace(GetInline("MenuExt"),"$REGNAME", strRegName ) )

' レジストリ処理用オブジェクト作成
GetWshShell

on error resume next
WshShell.RegWrite _
	"HKCU\Software\Microsoft\Internet Explorer\MenuExt\"&strRegName&"\", _
	strInstallPath3, _
	"REG_SZ"
WshShell.RegWrite _
	"HKCU\Software\Microsoft\Internet Explorer\MenuExt\"&strRegName&"\Contexts", _
	nTargetType, _
	"REG_DWORD"

if bIsGUI then
	' この定義があると、画面あり
	WshShell.RegWrite _
		"HKCU\Software\Microsoft\Internet Explorer\MenuExt\"&strRegName&"\Flags", _
		&H1, _
		"REG_DWORD"
end if
on error goto 0

print "処理が終了しました"
print ""

Wscript.Quit

</SCRIPT>

<COMMENT>
******** ●ここを変更● ********
</COMMENT>
<RESOURCE id="MenuExt">
<![CDATA[
<meta http-equiv="content-type" content="text/html; charset=SHIFT_JIS">
<SCRIPT language="VBScript">

	Dim WshShell,RegName,strLocation,obj,doc

	Set WshShell = CreateObject("WScript.Shell")
	RegName = "$REGNAME"

	' *************************************************
	' ウインドウサイズ
	' *************************************************
'	window.dialogWidth = "900px"
'	window.dialogHeight = "610px"

'	window.dialogTop = "100px"
'	window.dialogLeft = (window.screen.width/2)&"px"

	on error resume next
	ExecuteGlobal "function dummy(): end function"
	on error goto 0

	' SHIFTとCTRL用変数
	Dim keyflg1,keyflg2
	keyflg1 = False
	keyflg2 = False

Function setObj( src )
	Set obj = src
End Function
</SCRIPT>

<SCRIPT language="JavaScript">
setObj(external.menuArguments.event.srcElement);
</SCRIPT>
<html>
<head>
<title>$REGNAME</title>
<meta http-equiv="content-type" content="text/html; charset=SHIFT_JIS">
<base target="_self">
</head>
<BODY>
<!--SHIFTとCTRLがおされているかどうかを取得するボタン-->
<INPUT id="btn" type=button onClick='keyflg1=window.event.shiftKey:keyflg2=window.event.ctrlKey'>
</BODY>
</html>
<SCRIPT language="VBScript">

	' ボタンの呼び出し
	document.getElementById("btn").click()

	on error resume next
	' *************************************************
	' 画像とアンカーの処理( レジストリ 0x22 )
	' obj は、カーソル下のオブジェクト
	' *************************************************
	Dim fobj
	Set fobj = obj
	tag = obj.tagName
	if Err.Number <> 0 then
		str = "カーソル下のオブジェクトを取得できませんでした"
	else

		tag = Ucase( tag )
		' *************************************************
		' リンクの場合
		' *************************************************
		if tag = "A" then

			if keyflg1 then
				stra = obj.innerHTML
			else
				if keyflg2 then
					stra = obj.outerHTML
				else 
					stra = obj.href
				end if
			end if 

			Call window.clipboardData.setData("Text", stra )
			str = stra

		end if

		' *************************************************
		' 画像の場合
		' *************************************************
		if tag = "IMG" then

			Dim nCnt
			nCnt = 0
			Do While True
				stra = Ucase(obj.parentElement.tagName)
				if stra = "BODY" then
					stra = fobj.src
					Exit Do
				end if
				if stra = "A" then
					if keyflg1 then
						stra = obj.parentElement.innerHTML
					else
						if keyflg2 then
							stra = obj.parentElement.outerHTML
						else 
							stra = obj.parentElement.href
						end if
					end if 
					Exit Do
				end if
				Set obj = obj.parentElement
				nCnt = nCnt + 1
				if nCnt > 100 then
					alert("階層が深すぎます   ")
					Exit Do
				end if
			Loop

			Call window.clipboardData.setData("Text", stra )
			str = stra

		end if

	end if
	on error goto 0

	alert(str)


</SCRIPT>
]]>
</RESOURCE>

</JOB>



posted by lightbox at 2018-01-06 17:56 | IE拡張メニュー | このブログの読者になる | 更新情報をチェックする

2014年12月12日


Twitter 上のつぶやきの中で表示されている短縮リンクや一部が省略されたURLをクリップボードへコピーする IE 拡張

▼ インストール(zip書庫)


Twitter 上のつぶやきの中で表示されている短縮リンクや一部が省略されたURLは、属性として展開した URL を持っています( data-expanded-url )。マウスカーソルを置くと、表示されますがそのままでは使え無いのでクリップボードにコピーします。

ie_twitter_expanded_link.wsf をエクスプローラからダブルクリックして下さい。

インストールは AppData\Roaming\laylaClass に行われます。

アンインストールは以下のコマンドをコマンドプロンプトで実行するか、同梱の
uninstall.bat をエクスプローラからダブルクリックして下さい

reg delete "HKCU\Software\Microsoft\Internet Explorer\MenuExt\Twitter 用 URL取得"
▼ 実行用 expanded_link.htm の内容
<meta http-equiv="content-type" content="text/html; charset=SHIFT_JIS">
<SCRIPT language="VBScript">

	Dim WshShell,RegName,strLocation,obj,doc

	Set WshShell = CreateObject("WScript.Shell")
	RegName = "Twitter 用 URL取得"

	' *************************************************
	' ウインドウサイズ
	' *************************************************
'	window.dialogWidth = "900px"
'	window.dialogHeight = "610px"

'	window.dialogTop = "100px"
'	window.dialogLeft = (window.screen.width/2)&"px"

	on error resume next
	ExecuteGlobal "function dummy(): end function"
	on error goto 0

	' SHIFTとCTRL用変数
	Dim keyflg1,keyflg2
	keyflg1 = False
	keyflg2 = False

Function setObj( src )
	Set obj = src
End Function
</SCRIPT>

<SCRIPT language="JavaScript">
setObj(external.menuArguments.event.srcElement);
</SCRIPT>
<html>
<head>
<title>Twitter 用 URL取得</title>
<meta http-equiv="content-type" content="text/html; charset=SHIFT_JIS">
<base target="_self">
</head>
<BODY>
<!--SHIFTとCTRLがおされているかどうかを取得するボタン-->
<INPUT id="btn" type=button onClick='keyflg1=window.event.shiftKey:keyflg2=window.event.ctrlKey'>
</BODY>
</html>
<SCRIPT language="VBScript">

	' ボタンの呼び出し
	document.getElementById("btn").click()

	on error resume next
	' *************************************************
	' アンカーの処理( レジストリ 0x20 )
	' obj は、カーソル下のオブジェクト
	' *************************************************
	tag = obj.tagName
	if Err.Number <> 0 then
		str = "カーソル下のオブジェクトを取得できませんでした"
	else

		tag = Ucase( tag )
		' *************************************************
		' リンクの場合
		' *************************************************
		if tag = "A" then

			stra = obj.getAttribute("data-expanded-url")
			if not IsNull(stra) then

				if Right(stra,1) = "/" then
					stra = Left(stra,Len(stra)-1)
				end if
				stra = Replace(stra,"/?", "?")
				alert(stra)
				Call window.clipboardData.setData("Text", stra )
			end if

		end if

	end if
	on error goto 0

</SCRIPT>




タグ:IE IE拡張
posted by lightbox at 2014-12-12 14:23 | IE拡張メニュー | このブログの読者になる | 更新情報をチェックする

2014年07月15日


IE拡張メニュー のメンテナンスアプリケーション( HTA )





IE拡張メニューの表示・非表示を切り替える
※ アンインストールをせずに、個別に表示したり表示しないようにします。
※ グループ化して、グループ単位に表示・非表示の設定もできます。
※ 実行すると、IE のツールメニューに登録します
※ メンテナンス画面で、IE のツールメニューから削除できます
※ 個別にIE 拡張メニューを削除できます
※ 個別にアプリケーションを登録したエディタで開く事ができます
※ 個別にレジストリエディタの定義場所を開く事ができます
※ レジストリエディタを使うと、メニューのタイトルを変更できます
posted by lightbox at 2014-07-15 17:34 | IE拡張メニュー | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

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

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

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

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


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

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

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

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

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

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり