CrossBrower Functions
- スレッドリスト表示時に頭の▼リンクをクリックすると発言を一覧&投稿できます。
- 48時間以内の投稿には New! が表示されます。
・OTD BBS利用規約
|
| Top
| Next
|| ツリー
( 返信内容あり )
| 投稿降順リスト
( 返信内容あり )
| スパムロボット捕獲状況
(*もしエラーがでたらそのページのurlをここ へ)
-
| 6936 |
|
くだらんといわれそうですが・・・。(質問ではありません) 佐野洋二 2003/07/10 19:56
|
|
|
いつも「凄いこんなことまで出来るのか」と驚きながら読ませていただいています。
今回、質問などで提示されたソースをすぐにブラウザでプレビュー出来ないかと思い、
IEのコンテキストメニュー拡張という形で作ってみました。
http://www.geocities.co.jp/SiliconValley-Bay/8558/sourcetest.lzh
DL後、インストール.vbsを実行してください。
再起動したIEのコンテキストメニュー(選択時のもの)に
"sourceTest"というものが追加されるのでそれを
ソースを選択した上でclickしてください。
すると新しいwindowが開き、選択したソースがプレビューされるはずです。
以下にscriptのソースを示します。
--------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<title></title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=Shift_JIS">
<script>
var parentwin = external.menuArguments;
var parentdoc = external.menuArguments.document;
var XX = external.menuArguments.event.clientX;
var YY = external.menuArguments.event.clientY;
var LFORMelement = parentdoc.elementFromPoint( XX, YY );
var LFORM = LFORMelement.form;
var LFORMelementvalue = LFORMelement.value;
var selectText = parentdoc.selection.createRange().text;
</script>
<script>
newwin = parentwin.open("", "", "width=640,height=400,scrollbars=yes,resizable=yes");
var newdoc = newwin.document;
newdoc.open();
newdoc.write(selectText);
newdoc.close();
</script>
</HEAD>
<BODY>
</BODY>
</html>
|
| 関連リンク:http://www.geocities.co.jp/SiliconValley-Bay/8558/sourcetest.lzh |
| この投稿に返信する>> |
|
-
-
| 6954 |
|
おもしろいです 高橋登史朗【JavaScript】 2003/07/11 13:45
|
|
|
> http://www.geocities.co.jp/SiliconValley-Bay/8558/sourcetest.lzh
試してみました。便利ですね(^^)。
確かにちょっと確かめるためのビューアがあると
こういう掲示板には役に立つかもしれません...。
実は、わたしもビューアを作ったことがあって
http://game.gr.jp/jslb/
これのテキストエリアにソースを書いて「Run The TextArea」
をクリックすると実行できるようになっています。
う〜ん。これとりつけてみようかな...
佐野さんのsourceTestも画面左側にツールとして
リンクしてもよいでしょうか?
# こういう便利ツールみたいなものって他にもいろいろなものが
# ありそうな... ご存知ありませんか?
|
| この投稿に返信する>> |
|
-
| 6958 |
|
ありがとうございます。 佐野洋二 2003/07/11 15:02
|
|
|
> 佐野さんのsourceTestも画面左側にツールとして
> リンクしてもよいでしょうか?
そうしていただけると非常に嬉しいです。
> # こういう便利ツールみたいなものって他にもいろいろなものが
> # ありそうな... ご存知ありませんか?
私はここで勉強したのですが、↓
http://www.rocaz.net/rclick/index.html(R-Click! Unionというソフトがお勧め)
http://www.uryusoft.com/
や、
http://mugi.cc/software.htm(Kommixというセット)
でも同様のことをされておられるので、紹介しておきます。
|
| 関連リンク:http://www.geocities.co.jp/SiliconValley-Bay/8558/sourcetest.lzh |
| この投稿に返信する>> |
|
-
| 6974 |
|
Re:くだらんといわれそうですが・・・。(質問ではありません) pug2 2003/07/12 13:51
|
|
|
> いつも「凄いこんなことまで出来るのか」と驚きながら読ませていただいています。
>
> 今回、質問などで提示されたソースをすぐにブラウザでプレビュー出来ないかと思い、
> IEのコンテキストメニュー拡張という形で作ってみました。
VBScript実行するには、RunTime6 が必要なんですか??
会社のWin2000-SP4,IE6-SP1,VisualStudio6-FullInstall だと
なんの問題もなくインストールできたんですけど、自宅のマシン
Win2000-SP4,IE5.5SP3,VisualC++5.0 だとパスが見つかりません
ってエラーが出てしまいました。残念。ランタイムエラーとか
実行時エラーではない(それ以前のエラーっぽい)から、きっと
VB6ランタイムが必要なんでしょうかね・・・
|
| 関連リンク:http://msdn.microsoft.com/library/default.asp |
| この投稿に返信する>> |
|
-
| 6976 |
|
Re:くだらんといわれそうですが・・・。(質問ではありません) 佐野洋二 2003/07/12 19:17
|
|
|
> VBScript実行するには、RunTime6 が必要なんですか??
「wscript.exe」というホストプログラムが必要です。
しかしIE5.0以上が入っている場合、すでにインストールされているはずなので、こちらのミスかもしれません。
インストーラの内部を変えたものを作りましたので、
こちらを試してください。
http://www.geocities.co.jp/SiliconValley-Bay/8558/sourcetest2.lzh
|
| この投稿に返信する>> |
|
-
| 6979 |
|
Re:くだらんといわれそうですが・・・。(質問ではありません) pug2 2003/07/13 00:54
|
|
|
> 「wscript.exe」というホストプログラムが必要です。
> しかしIE5.0以上が入っている場合、すでにインストールされているはずなので、こちらのミスかもしれません。
> インストーラの内部を変えたものを作りましたので、
> こちらを試してください。
> http://www.geocities.co.jp/SiliconValley-Bay/8558/sourcetest2.lzh
動作しました。
WINDOWS フォルダが無いので、なんで会社のマシンが成功したのか
思い返してみると・・・会社のマシンはWIN-ME から WIN2Kに
アップグレードインストールしたからWINDOWSフォルダがあったん
で、それで何事もなく動いていたのかと考えます(w)。
で、いじった部分を載せます。
レジストリエディタ使って、他のアドインコンテクストメニューの
設定値と同じ値に設定しましたが、これは別にやらなくても良さそう
ですね??でも、WINNT系だと、REG_DWORD=16 だとコンテキスト
メニューに表示しない、という設定らしいので 48 にしておきました。
rem ファイルコピーするフォルダパスをNT系に。
F.Copy "C:\WINNT\Web\"
rem レジストリ
Shell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\sourceTest\","C:\WINNT\Web\parts\source.htm","REG_SZ"
Shell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\sourceTest\contexts","48","REG_DWORD"
これすごく便利ですね、ありがたく使わせていただきます。m(__)m
|
| 関連リンク:http://msdn.microsoft.com/library/default.asp |
| この投稿に返信する>> |
|
-
| 6981 |
|
16(HEX) でも問題ないっす(;; pug2 2003/07/13 01:04
|
|
|
> > 「wscript.exe」というホストプログラムが必要です。
> レジストリエディタ使って、他のアドインコンテクストメニューの
> 設定値と同じ値に設定しましたが、これは別にやらなくても良さそう
> ですね??でも、WINNT系だと、REG_DWORD=16 だとコンテキスト
> メニューに表示しない、という設定らしいので 48 にしておきました。
あれれ??DWORDの値ってなんなんでしょ??
10h でも 30h でも同じく、右クリックメニューに出てきました(;;
んーーー、なにやら、レジストリキーの設定値を確認した方が
良さそうでね<自分。
|
| 関連リンク:http://msdn.microsoft.com/library/default.asp |
| この投稿に返信する>> |
|
-
| 6982 |
|
Re:くだらんといわれそうですが・・・。(質問ではありません) きあらうむ 2003/07/13 02:39
|
|
|
さっそく使ってみました。とても便利です。
この掲示板に限らず、どこでも役に立ちますね。
source.htmlに手を加えていろいろ改造するのも面白そう。
|
| この投稿に返信する>> |
|
-
| 6983 |
|
Re:くだらんといわれそうですが・・・。(質問ではありません) きあらうむ 2003/07/13 05:45
|
|
|
> source.htmlに手を加えていろいろ改造するのも面白そう。
2つ目のスクリプト部分をこうしてみました。
<script>
var winOp="width=640,height=400,scrollbars=yes,resizable=yes";
var url="";
if (selectText.match(/^http|^ttp/i))
{
winOp="";
url="h".substr(selectText.indexOf("ttp"))+selectText.replace(/[\n\r\t]/g,"");
}
if (selectText.match(/\.jpg$|\.jpeg$|\.jpe$|\.gif$|\.png$|\.bmp$/i))
{
winOp="";
selectText="<img src="+selectText+">";
}
newwin = parentwin.open(url, "", winOp);
if (url=="")
{
var newdoc = newwin.document;
newdoc.open();
newdoc.write(selectText);
newdoc.close();
}
</script>
これに変更すると
URLを
http://www.google.co.jp/
ttp://www.yahoo.co.jp/
新規ウィンドウで開いてくれる・・・。
多分非常に重宝します。w
あとは画像のフルパスも
http://www.interq.or.jp/japan/satoshi0/sample/_img/links.png
開いてくれる・・。これはあまり意味ないかも。
|
| この投稿に返信する>> |
|
-
| 6988 |
|
Re:くだらんといわれそうですが・・・。(質問ではありません) pug2 2003/07/13 10:46
|
|
|
> > source.htmlに手を加えていろいろ改造するのも面白そう。
>
> 2つ目のスクリプト部分をこうしてみました。
>
NT/2000 系対応。
きあらうむさんの「sourceTest2」メニューを
追加しました。
http://www58.tok2.com/home/puggy/Test/sourcetest_NT_98.lzh
|
| 関連リンク:http://msdn.microsoft.com/library/default.asp |
| この投稿に返信する>> |
|
-
| 6989 |
|
左にリンクつけました 高橋登史朗【JavaScript】 2003/07/13 11:55
|
|
|
皆さんがいろいろ追加情報を書き込んでくださったので、
スレッドにリンクを張ってみました。
|
| この投稿に返信する>> |
|
-
| 7023 |
|
また製作。 佐野洋二 2003/07/15 15:51
|
|
|
返信が遅れてしまいましたが、
pug2様、きあらうむ様、
NT用インストーラ、拡張版script、ありがとうございました。
コンテキストメニュー拡張の機能を使って、
Netscapeについているjavascriptパネルの機能をIEでも実現できないかと
またscriptを作りました。
これを使えば普通にjavascriptを書くように命令を実行できます。
ですからalertデバッグのようなことをソースを書き換えずに出来ますし、
最終更新日も自分のサイトでなくても取得できます。(cgiのページはむりですが。)
ぜひ使ってみてください。
http://www.geocities.co.jp/SiliconValley-Bay/8558/JavaScriptPanel.lzh
そういえばfile選択ダイアログって<input type="file">以外の方法で表示できないでしょうか。
|
| この投稿に返信する>> |
|
-
| 7026 |
|
Re:また製作。 Zoper 2003/07/15 16:05
|
|
|
こんにちは。Zoperです。
久しぶりに来てみるとIE拡張の話題。
私も色々と使ってるのですが仕事とかにも役に立ちます(^-^
↓その画面上で好きなJavaScriptを起動させる拡張機能です。
フォームの値やCookieなどを自由に変更できるのでデバックなどに。
--------------------------------------------------------<html lang="ja">
<script type="text/javascript" language="JavaScript">
var parentwin = external.menuArguments;
var parentdoc = external.menuArguments.document;
runScript();
function runScript() {
var command = getUserData("command");
command = parentwin.prompt("コマンドを入力してください", command);
if (!command) return;
setUserData("command", command);
with (parentwin) {
try {
eval(command);
} catch (ex) {
parentwin.alert(ex.description);
}
}
}
function setUserData(key, value) {
if (!navigator.userData) {
parentdoc.body.addBehavior('#default#userData');
navigator.userData = true;
}
parentdoc.body.load('menuex');
if (value) parentdoc.body.setAttribute(key, value);
else parentdoc.body.removeAttribute(key);
parentdoc.body.save('menuex');
}
function getUserData(key) {
if (!navigator.userData) {
parentdoc.body.addBehavior('#default#userData');
navigator.userData = true;
}
parentdoc.body.load('menuex');
var value = parentdoc.body.getAttribute(key);
return (value) ? value : "";
}
</script>
</html>
--------------------------------------------------------
|
| この投稿に返信する>> |
|
-
| 7049 |
|
Re:また製作。 kiyo 2003/07/16 08:35
|
|
|
kiyoと申します。
> http://www.geocities.co.jp/SiliconValley-Bay/8558/JavaScriptPanel.lzh
>
早速、使わせて頂こうと思い試したところエラーメッセージが出ました。
line 32
コード 0
文字 1 で構文エラー
というものです。
どんな例文を使っても起こるようですが、私の使い方の問題でしょうか?
|
| この投稿に返信する>> |
|
-
| 7058 |
|
Re:また製作。 佐野洋二 2003/07/16 14:42
|
|
|
> 早速、使わせて頂こうと思い試したところエラーメッセージが出ました。
> line 32
> コード 0
> 文字 1 で構文エラー
>
> というものです。
> どんな例文を使っても起こるようですが、私の使い方の問題でしょうか?
>
なぜでしょうか・・・。
一応IE5.0以上なら動くと思うのですが。
もう少し見てみます。すみませんでした。
|
| この投稿に返信する>> |
|
-
-
-
-
| 7056 |
|
Re:また製作。 きあらうむ 2003/07/16 14:22
|
|
|
これもまたおもしろいですね。
早速改造。・・というか改良しました。
<input type="file">のCSSにAlphaフィルタが使われていて、起動が
少し重かったので、
#fileload{ display:none }
こうしました。
で、開くボタンに onclick="fileload.click()" を追加。
これで同じ動作になります。
さらに3つのボタンにアクセスキーを設定して、こうなりました。
<button id="loadbutton" accesskey="o" onclick="fileload.click()">開く(o)</button>
<button id="run" onclick="JSrun()" accesskey="r">実行(r)</button>
<button id="close" onclick="window.close()" accesskey="c">終了(c)</button>
とりあえずこれだけです。
まだいろいろできそうな予感。。
|
| この投稿に返信する>> |
|
-
| 7057 |
|
Re:また製作。 きあらうむ 2003/07/16 14:34
|
|
|
連投すみません。
エラーの場合、面倒なことにならないように
命令を実行する関数をこう変更してみました。
function JSrun(){
try
{
parentwin.eval(window.document.getElementById('source').value);
}
catch(e)
{
alert("その命令はエラーのため実行しません。\n"+e.message);
}
}
|
| この投稿に返信する>> |
|
-
| 7060 |
|
Re:また製作。 佐野洋二 2003/07/16 15:17
|
|
|
またまたありがとうございます。
>#fileload{ display:none }
>onclick="fileload.click()"
という手があったんですね。
無理せずそうすれば良かったのですね。
ご指南ありがとうございます。
アクセスキーという機能もありましたね。
いまだにマウスから抜けられなくて・・・。
tabindexもつけた方が良さそうですね。
try・catch構文ですか。
これもあったほうが便利ですね。
色々ありがとうございました。
直したものをupしておきます。
http://www.geocities.co.jp/SiliconValley-Bay/8558/JavaScriptPanel.lzh
|
| この投稿に返信する>> |
|
-
| 8412 |
|
バージョンアップ。 佐野洋二 2003/10/30 17:47
|
|
|
最近バージョンアップしました。
ソースをテストする前にちょっとした改造を施せるように
作業用windowを追加しました。少し便利になったと思います。
http://www.geocities.co.jp/SiliconValley-Bay/8558/viewasHTML.lzh
ついでにJavaScriptPanelもバージョンアップ。
・ソースの参照機能(ソースの表示と違い、DOMによる操作がstyle属性に反映されています)
・汎用関数の定義機能(フォルダの中のdefault.jsがそれです。)
・javascriptのソースを履歴として保存(プルダウンメニューから選べるようになります。)
JavaScriptPanel:
http://www.geocities.co.jp/SiliconValley-Bay/8558/JavaScriptPanelvar2.lzh
いろいろ機能を追加しましたが、やはりHTMLでインターフェイスは作りにくいですね。どうしたものか・・・。
マイクロソフトの「コンテキスト メニューに項目を追加する方法について」はこちら:
http://support.microsoft.com/default.aspx?scid=kb;ja;177241
|
| 関連リンク:http://www.geocities.co.jp/SiliconValley-Bay/8558/viewasHTML.lzh |
| この投稿に返信する>> |
|
| Top
| Next
|| ツリー
( 返信内容あり )
| 投稿降順リスト
( 返信内容あり )
|
(*もしエラーがでたらそのページのurlをここ へ)
|
|