
自作のJavaScriptを既存のページで動作させる
自作のjavascriptをウェブ上で公開されているページに含めて動作させることを考えています。javascriptの動作は、ページ内の画像などをクリックするとalert関数が出るようなものです。
自分で少し考えたものとしては、自作のHTMLページでjavascriptを読み込んでおき、そのHTMLの中で外部のHTMLページを読み込むようなことはできないかなと考えています。
外部ページの読み込みはフォームの中にURLを入力して行えるといいかなと思います。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<!--このjavascriptを読み込んだページで動作させる-->
<script type="text/javascript">
var Handler = function (evt) {
var node = evt./*@if (1) srcElement @else@*/ target /*@end@*/;
var doc = node.ownerDocument;
var win = doc./*@if (1) parentWindow @else@*/ defaultView /*@end@*/;
if(node.tagName=="IMG"){ //imgタグを検知したらアラート
alert("これは画像です");
}
</script>
</head>
<body>
<!--外部のページを読み込む処理-->
<form id="f1">
<input type="text" name="url" value="http://" size="60" />
<input type="button" value="読み込み" />
</form>
</body>
<script src="自作のjavascript" type="text/javascript" ></script>
</html>
自作のjavascriptをWeb上のページで動作できれば、上記のような方法と全く別でも構いませんので、どなたかご存知の方よろしくお願いいたします。
ブラウザはInternetExplorerを考えています。
No.3ベストアンサー
- 回答日時:
> 自作のjavascriptをWeb上のページで動作できれば、上記のような方法と全く別でも構いませんので、
ブックマークレットにすれば、IE でも実行できるとは思います。
あと、IE だけをサポートするなら条件付きコンパイルをする必要はない…ような。
if (1) なら、IE は絶対に else 後の Statement にいきません。
この回答への補足
後学のため・・・
以下のコードをブックマークのURLに書いて登録
javascript:(function(){var s=document.createElement("script");s.charset="UTF-8";s.src="サーバに置いた自作のjavascriptへの絶対パス";document.body.appendChild(s)})();
↓
自作のjavascriptを適用したいページで登録したブックマークをクリック。
↓
そのページで自作のjavascriptが適用される。
お礼が遅くなってしまって申し訳ありません。
質問していた内容に追加の機能を加えたjavascriptを考えていました。
ブックマークレットのこと、教えて頂きありがとうございます。
無事作成することができました。
外部サーバにjavascriptを置いてアクセスさせる方法にしました。
あとはページ遷移の度にブックマークを押さなければならないのを改善できたらと考えています。(ブックマークレットで出来るかはまだわからないですが・・・)
本当に助かりました。
ありがとうございます。
ご指摘の条件付きコンパイルの部分ですが、たしかにelse以下は要りませんでしたね。
重ねて、ありがとうございます。
No.4
- 回答日時:
>自作のJavaScriptを既存のページで動作させる
とのことですが、すでにご提示のスクリプトは別ドキュメントでも動作するように意図なさっているとお見受けしますので(そこまで考慮したコーディングは私には無理)、そのまま対象ドキュメント(または要素)に適用すればいいだけではないのですか?
iframeを用いるのかajaxで読込むのか不明ですが、対象要素にイベントハンドラーとして設定するだけ。(クロスドメイン対応はサーバ側で行っているのでしょうか?)
No3様がすでにご提案なさっているように、ブックマークレットにしてしまう案は簡便でよさそうですね。
同様に、IE限定というのであれば、わざわざ条件付コンパイルにする必要もなさそう。
よく見ると、ご提示の条件付コンパイル部分が(失礼ながら)不完全なようにも見えますが、はずしてしまうのなら関係ないですね。
お礼がおそくなってしまい申し訳ありません。
No.3様のところで書かせていただいたように、ブックマークレットという形で実現できました。
回答ありがとうございました。
No.2
- 回答日時:
補足
「InternetExplorer」じゃありませんが「火狐」というブラウザーには、
「潤滑油猿」というアドオンソフトがあって、これを使えば、ブラウザーに
ロードしたページに、あなたの追加 javascript を実行させる事が出来ます。
フォームなんていりません。
http://mozilla.jp/firefox/
http://firefox.geckodev.org/index.php?Greasemonk …
この回答への補足
回答ありがとうございます。
「火狐」で「潤滑油猿」( 当て字(笑) )使って上手く動作しました。
しかし、今回の機能だけだと良かったのですが、自作javascriptではActiveXをオブジェクトとしてhtmlページに埋め込ませて使う予定のため、残念ながら「火狐」だと都合が悪いです。(質問に書いてなくて申し訳ありません。)
IEで「潤滑油猿」が使えるとよかったんですが・・・。
やはりNo.1で回答頂いてましたようにPHPを使ってやるしかないのですかね。
PHPはほとんどやったことがないので、これから勉強したいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホ上で、左右スワイプで次...
-
jqueryのselect2で検索欄の文字...
-
Adobe acrobat proでフォームを...
-
Cookieに保存されない
-
画面遷移を行わずに同一ページ...
-
「?」の意味
-
条件に該当した時のみ定数を宣...
-
タグを教えてください。
-
ラジオボタンを複数選択したと...
-
jsで質問です。 formをsubmitし...
-
2025年相性がいい人のサイトの...
-
CookieをWebStoeageに変える
-
Outlookのアカウントがあるとメ...
-
<tr>指定した表の行要素をボ...
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
-
<div>のタッチ状態を維持したま...
-
jQueryでシンセサイザーを作っ...
-
プログラミング 学習
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダを自動で開く
-
HTML5のことについてなのですが……
-
表示ページによって、aタグ内の...
-
ページ遷移時にアコーディオン...
-
ウィンドウを閉じたら、アラー...
-
jquery(javascript)で分から...
-
VB.NETからWEBブラウザの操作に...
-
chomeでリンク先URLを取得したい
-
自作のJavaScriptを既存のペー...
-
リンク先に飛ぶときに、現在の...
-
Javascriptで複数ページのパス...
-
リンクからPOST送信を、右クリ...
-
ツールバー、アドレスバーなど...
-
C# ブラウザの自動クリック
-
Javascriptのカウントダウンに...
-
JavaScriptの引数について教え...
-
至急お願いします!javascript:...
-
PowerPointで時計表示
-
JSPの処理の途中で、JavaScript...
-
VB.NET2003 テキストボックスに...
おすすめ情報