はじめまして。
どうしてもできないため、どなたかご教授お願い致します。
私がやろうとしているのは、広告タグで配信されるFLASHorGIF画像をJSで判定し、もしFLASHまたはGIF画像が配信されていれば何もせず、配信されていなければAページへリンクというものを作成しております。
ただ、JSについては初心者のため(FLASHは多少やっております)先に進めず困っております。。
下記が私なりに作成したソースです。
<script language="JavaScript" type="text/javascript">
<!--
var gazo = document.write('<scr' + 'ipt type="text/javascr' + 'ipt" src="配信先URL"></scr' + 'ipt>');
alert(gazo);
if(gazo != "document.write('');"){
alert('広告あり');
}else{
alert('広告なし');
}
var objBody = document.getElementsById("welcome_pr").item(0);
objBody.appendChild(gazo);
//-->
</script>
配信先URLは仕事のため、記載していません><申し訳ございません。
alert(gazo);で何かしら値が取得できるかなと思ったのですが
undefindとしか出ません。
先が見えない状況で、非常に困っています。
どなたかお教え頂けないでしょうか。
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
広告はSCRIPTタグで挿入されているのでしょうか?
document.write()は戻り値がなかったハズで、undefinedが戻ってくるのはそのせいだと思います。
なのでご提示頂いたソースの場合は
document.write('<script type="text/javascript" id="jsc" src="配信先URK"><\/script>);
のようにidを振り、
var gazo = document.getElementById("jsc");
のようにする事でSCRIPTタグのオブジェクトが取得出来るハズです。
でも、これで取得してみても画像がロードされたかは恐らく判別出来ないと思います。
私の推測になります。
参照先ファイルが、HTMLのbody部分にimgタグやらを記述しているハズです。
確認方法ですが、以下のようにソースを書いてみてください。
window.onload = function(){
var html = document.getElementsByTagName('html').item(0);
alert(html.innerHTML);
}
外部スクリプトタグがimgタグあるいは、flash用のタグを記述した痕跡が見えるハズです。
色々なパーツを書いているとわかりにくくなると思うので下記のように単純なソースを書いて、比較してみる事をお勧めします。
<html>
<head>
<script type="text/javascript">
window.onload = function(){
var html = document.getElementsByTagName('html').item(0);
alert(html.innerHTML);
}
</script>
</head>
<body>
<script src="text/javascript" src="配信先URL"></script>
</body>
</html>
挿入された物が見つかればあとはそれを
document.getElementsByTagName(タグ名).item(0スタートのインデックス番号)
で取得し、ロード出来ているか調べれば良いと思います。
あと…、document.write()内にタグを書く時は注意しないといけない事があるみたいです。
閉じタグの場合</****>を<\/****>にしておかないと止まる事があるみたいです。私は、今日知りましたorz
↓
http://d.hatena.ne.jp/aql/20060615/1150300264htt …
スイマセン長々と…。>_<
No.1
- 回答日時:
広告の有無を何で判定しようとしているのか、よくわかりませんが・・・
自分自身のHTML内の<script>タグで、srcが配信先URLのものがあるかないかということで判定するということでよいのでしょうか?
また、配信先URLは常に一定と考えてよいのでしょうか?
ヒントになるかも不明ですが・・・ (判定部分のみ)
他に、onload functionがないものと仮定しています。
window.onload = function(){
var st=document.getElementsByTagName('script');
var i = -1;
var flg = 1;
while (++i<st.length && flg){flg=(st[i].src=="配信先URL")?0:1;}
alert(flg?'広告なし':'広告あり');
}
御回答有難うございます。
ちょっと状況が変わりました。。
もし広告がない場合は
RadSpecailという変数にtrueが入っている空の広告を配信するということです。
このflagを参照したいのですが、その場合はどのようにいたらいいでしょうか?
また、配信先URLは一定です。
申し訳ありませんが、宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
自動的にもとのページに再読み...
-
ブロックされるのかされないのか?
-
外部JavaScriptの書き方
-
Javascript超初心者の質問です...
-
promptからのdocument.write
-
スクリプトが分からなくて・・・
-
スクロールしても画像・文字が...
-
HPビルダーで『最終更新日時』...
-
<a href="#" …>の意味を教えて...
-
javascriptファイルは1つに統...
-
HTMLソースからURLだけを抜き出...
-
"mailtoでメールの【氏名】【性...
-
javascriptとApacheの設定
-
「jQuery」アニメーションをル...
-
SCRIPT5007: 未定義または NULL...
-
window.open でExcelファイルを...
-
【Google Apps Script】「ライ...
-
左右のフレームを同時にスクロ...
-
一つの行にURLが複数ある場合の...
-
Dreamweaver で 外部JSを読み込...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptで変数を組み込みたい
-
document.getElementById
-
キャラクターコード表を出力さ...
-
特定URLからの遷移後、指定ULR...
-
この構文でよいでしょうか?
-
1から100までの平方根を表示す...
-
明日の日にちを表示するときは
-
ホームページを見る度にTOP画面...
-
location.hrefの使用方法について
-
FLASH(swf)2点のリロード毎の切...
-
コピーライトの年表示について...
-
ブログ上で複数のjavaスクリプ...
-
JavaScriptの勉強を始めました。
-
特定のURLからの訪問者を入室禁...
-
'<SCR' + 'IPT>' なぜ分割?
-
JSによるリンク先の値の取得
-
文字の置換について
-
スクロールしても画像・文字が...
-
Java scriptでFLASHを表示した...
-
CGIフォーム一定時間過ぎる...
おすすめ情報