- ベストアンサー
スクリプト内から他の外部スクリプトを読み込みたい
Java Script初級者です。 外部スクリプト内から他の外部スクリプトを読み込むことは可能ですか? 実現したい内容はスクリプト内の関数から▼下のような感じで外部ファイルを読み込むことです。 function check(fm) { <script language="JavaScript" src="AAA.js"></script> } 何か良い方法がありましたらぜひ教えてください。
- みんなの回答 (11)
- 専門家の回答
質問者が選んだベストアンサー
え~と、細切れに書いたことをまとめますと 以下のようになります。 これで、動くはず・・・・・ <html> <head> <script> function dynamicLoad(jsFileName){ var now =new Date(); var getData =jsFileName+'?nc='+now.getTime(); if(document.all){ if(navigator.userAgent.indexOf("Win")!=-1){ eval(document.all('dynld')).src = getData; }else if(navigator.userAgent.indexOf("Mac")!=-1){ document.body.insertAdjacentHTML('BeforeEnd','<scr'+'ipt src="'+getData+'"><scr'+'ipt/>'); } }else if(document.getElementById){ var cnode=document.getElementById('dynld'); var nnode=document.createElement('script'); nnode.src=getData; nnode.id ='dynld'; cnode.parentNode.replaceChild(nnode,cnode); }else{ if(document.images){ var datasrc=new Image(); datasrc.src=getData; location.href=datasrc.src; } } } function check() { if(document.images["soldout"]){ alert("完売しました!"); return false; }else if(!document.forms[0].size.selectedIndex) { alert("サイズを選択してください!"); return false; }else { // //Google Code for Purchase Conversion Page // var google_conversion_id=1071970427; var google_conversion_language="ja"; var google_conversion_format="1"; var google_conversion_color="FFFFFF"; if(1){var google_conversion_value=1;} var google_conversion_label="Purchase"; dynamicLoad('http://bosan.net/test2/test2.js'); // //Overture Services Inc. 07/15/2003 // var cc_tagVersion = "1.0"; var cc_accountID = "123456789"; var cc_marketID = "4"; var cc_protocol="http"; var cc_subdomain = "convctr"; if(location.protocol == "https:"){ cc_protocol="https"; cc_subdomain="convctrs"; } var cc_queryStr = "?" + "ver=" + cc_tagVersion + "&aID=" + cc_accountID + "&mkt=" + cc_marketID +"&ref=" + escape(document.referrer); var cc_imageUrl = cc_protocol + "://" + cc_subdomain + ".overture.com/images/cc/cc.gif" + cc_queryStr; var cc_imageObject = new Image(); cc_imageObject.src = cc_imageUrl; // //外部との通信完了後に送信するために送信遅延時間を設定 // setTimeout("xx()",2000);//この時間を調整2000は2秒の意味 } } function xx(){ document.forms[0].submit(); } document.write('<scr'+'ipt id="dynld"></scr'+'ipt>'); </script> <head> <boy> <form action="about:blank" method="POST"> <select name="size"> <option>▼選択</option> <option>10cm</option> <option>20cm</option> </select> <input type="button" value="買い物かごに入れる" onclick="check()" /> </form> </body> </html> .
その他の回答 (10)
- arenani_sorenani
- ベストアンサー率73% (58/79)
え~っと。すでに最初の質問から趣旨が全然変わってますよね・・・・。 次から次に、あたらしい機能を追加するスクリプトを出してこられても困ります。 他人の書いたものをパース(解析)するのも決して楽じゃありません。 最初の質問については、充分答えたと思いますので これで一旦、この質問は終了してください。 クッキーの書込み・読出しは目的と手法が肝心です。 ざっと読んだ限りでは問題ない・・ window.status = value;は無用ですね・・ では .
お礼
arenani_sorenaniさん、何度もお手間を取らせてしまって申し訳ありませんでした。 これまでいろいろご親切に教えていただきありがとうございました。 できるだけ自分で記述できるよう調べてはいるのですが、なかなか上達せずにおります。 長い間、いたらぬ説明に辛抱強く付き合ってくださり本当に感謝しております。 今回はいろんなことを学ぶことができました。早く自分でもコードを書けるようになりたいものです。
- arenani_sorenani
- ベストアンサー率73% (58/79)
う~ん。 試してませんが・・・ <form onsubmit="return check();" action="#" method="POST"> ↓ <form action="#" method="POST"> *onsubmitを削除 <input type="submit" value="買い物かごに入れる"> ↓ <input type="button" value="買い物かごに入れる" onclick="check()"> function check() { var google_conversion_id=12345678; var google_conversion_language="ja"; var google_conversion_format="1"; var google_conversion_color="FFFFFF"; if(1){ var google_conversion_value=1; } var google_conversion_label="Purchase"; if(document.images["soldout"]){ alert("完売しました!"); return false; }else if(!document.forms[0].size.selectedIndex) { alert("サイズを選択してください!"); return false; }else { dynamicLoad('http://www.googleadservices.com/pagead/conversion.js'); var cc_tagVersion = "1.0"; var cc_accountID = "123456789"; var cc_marketID = "4"; var cc_protocol="http"; var cc_subdomain = "convctr"; if(location.protocol == "https:") { cc_protocol="https"; cc_subdomain="convctrs"; } var cc_queryStr = "?" + "ver=" + cc_tagVersion + "&aID=" + cc_accountID + "&mkt=" + cc_marketID +"&ref=" + escape(document.referrer); var cc_imageUrl = cc_protocol + "://" + cc_subdomain + ".overture.com/images/cc/cc.gif" + cc_queryStr; var cc_imageObject = new Image(); cc_imageObject.src = cc_imageUrl; } } ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ function check() { var google_conversion_id=12345678; var google_conversion_language="ja"; var google_conversion_format="1"; var google_conversion_color="FFFFFF"; if(1){ var google_conversion_value=1; } var google_conversion_label="Purchase"; if(document.images["soldout"]){ alert("完売しました!"); return false; }else if(!document.forms[0].size.selectedIndex) { alert("サイズを選択してください!"); return false; }else { dynamicLoad('http://www.googleadservices.com/pagead/conversion.js'); var cc_tagVersion = "1.0"; var cc_accountID = "123456789"; var cc_marketID = "4"; var cc_protocol="http"; var cc_subdomain = "convctr"; if(location.protocol == "https:") { cc_protocol="https"; cc_subdomain="convctrs"; } var cc_queryStr = "?" + "ver=" + cc_tagVersion + "&aID=" + cc_accountID + "&mkt=" + cc_marketID +"&ref=" + escape(document.referrer); var cc_imageUrl = cc_protocol + "://" + cc_subdomain + ".overture.com/images/cc/cc.gif" + cc_queryStr; var cc_imageObject = new Image(); cc_imageObject.src = cc_imageUrl; document.forms[0].submit(); } } *最後にフォームを送信する部分を追加 これでもダメなら送信部分をcheck()の外に出して別関数xx()などとして setTimeout("xx()",1000)を加える、時間1000の部分は様子をみて調整。 .
補足
arenani_sorenaniさん、早速のご回答ありがとうございます。 教えていただいたとおりにコードを変更して実行してみましたが、ステータスバーに「ページでエラーが発生しました」と表示されます。 ” *最後にフォームを送信する部分を追加 ”とは▼次のHTML文のことでよかったんですよね? もし間違ってましたらご指摘ください。 ~スクリプト~ </head> <body> <form action=" 外部セキュアサーバのURL.cgi" method="POST"> <select name="size"> <option>▼選択</option> <option>10cm</option> <option>20cm</option> </select> <input type="button" value="買い物かごに入れる" onclick="check()"> </form> </body> </html> コードをいろいろ変更してエラーの原因を突き止めようとしましたが、どうしてもエラーが発生して、原因解明に辿り着くことができません。 > これでもダメなら送信部分をcheck()の外に出して別関数xx()などとして > setTimeout("xx()",1000)を加える、時間1000の部分は様子をみて調整。 このコードが時間を扱うものであることはわかるのですが、これがどうして必要になるのか、またどのように動作するのか浅薄な私の知識では理解することは無理そうです。 何とかarenani_sorenaniさんに教えていただいた方法で実現したいと思いますので、もう少しだけ教えていただけませんでしょうか。 よろしくお願いいたします。
- arenani_sorenani
- ベストアンサー率73% (58/79)
3番目の補足質問ですが、おしゃる通りで良いと思います。 蛇足ですが・・ Overture のスクリプトも似たようなもので <img src="https://convctr.overture.com/images/cc/cc.gif?ver=1.0"&aID=123456789・・・・"> とやって画像の読み込みタグを書き出し、 非同期通信をする際にクエリーを送信しています。 これは dynamicLoad()の中でも使われている方法ですね。 .
- arenani_sorenani
- ベストアンサー率73% (58/79)
すみません。先ほどの回答で間違いがありました。 }else if(document.forms[0].size.selectedIndex){ ↓ }else if(!document.forms[0].size.selectedIndex){ です。!が抜けてました。 .
- arenani_sorenani
- ベストアンサー率73% (58/79)
現在の作りではsubmitと同時にページが遷移する(再読込みされる)ので 確かに外部スクリプトにアクセスしたかわかりませんが成功してると思います。 dynamicLoad('http://www.googleadservices.com/pagead/conversion.js'); ↓ dynamicLoad('http://bosan.net/test2/test2.js'); に変更したあと更に <input type="submit" value="買い物かごに入れる"> ↓ <input type="button" value="買い物かごに入れる" onclick="check()"> としてボタンを押してみてください。 alert が表示されれば読み出し成功です。 それと function check() { var google_conversion_id=12345678; var google_conversion_language="ja"; var google_conversion_format="1"; var google_conversion_color="FFFFFF"; if(1){ var google_conversion_value=1; } var google_conversion_label="Purchase"; for (i = 0; i < document.images.length; i++) { if (document.images["soldout"]){ alert("完売しました!"); return false; } if (fm.size.options[fm.size.selectedIndex].text == '▼選択' ) { alert("サイズを選択してください!"); return false; } else { dynamicLoad('http://www.googleadservices.com/pagead/conversion.js'); } } は function check() { var google_conversion_id=12345678; var google_conversion_language="ja"; var google_conversion_format="1"; var google_conversion_color="FFFFFF"; if(1){ var google_conversion_value=1; } var google_conversion_label="Purchase"; if(document.images["soldout"]){ alert("完売しました!"); return false; }else if(document.forms[0].size.selectedIndex) { alert("サイズを選択してください!"); return false; }else { dynamicLoad('http://www.googleadservices.com/pagead/conversion.js'); } } で良いと思います。 .
補足
こんにちは、arenani_sorenaniさん。 丁寧に教えていただきありがとうございます。 お返事が遅くなりまして申し訳ありません。 いろいろテストしてみたのですが難航しており、外部スクリプトを読み出すことができないでおります。 ▼教えていただいたこの方法で、onsubmit→onclickにすると確かにtest2.jsがキャッシュに入ります。 しかしonsubmitだとtest2.jsはキャッシュに何も残りません。 キャッシュに残らないということは読み出しに失敗しているということでしょうか? ▽ 現在の作りではsubmitと同時にページが遷移する(再読込みされる)ので 確かに外部スクリプトにアクセスしたかわかりませんが成功してると思います。 dynamicLoad('http://www.googleadservices.com/pagead/conversion.js'); ↓ dynamicLoad('http://bosan.net/test2/test2.js'); に変更したあと更に <input type="submit" value="買い物かごに入れる"> ↓ <input type="button" value="買い物かごに入れる" onclick="check()"> としてボタンを押してみてください。 alert が表示されれば読み出し成功です。 △ キャッシュはIE6でツール→インターネットオプション→設定→ファイルの表示で確認しています。 もし動作確認でこのやり方自体が間違っていましたら何か別の方法をご指摘いただければ助かります。 お手間を取らせて申し訳ありませんがよろしくお願いいたします。
- arenani_sorenani
- ベストアンサー率73% (58/79)
以下サンプルソースです。外部スクリプトはひつようありません。 すべてhead内に記述しました。 私がテストした限りでは、ボタンを押したときに 外部スクリプトの読み出しに成功しています。 <html> <head> <script> function dynamicLoad(jsFileName){ var now =new Date(); var getData =jsFileName+'?nc='+now.getTime(); if(document.all){ if(navigator.userAgent.indexOf("Win")!=-1){ eval(document.all('dynld')).src = getData; }else if(navigator.userAgent.indexOf("Mac")!=-1){ document.body.insertAdjacentHTML('BeforeEnd','<scr'+'ipt src="'+getData+'"><scr'+'ipt/>'); } }else if(document.getElementById){ var cnode=document.getElementById('dynld'); var nnode=document.createElement('script'); nnode.src=getData; nnode.id ='dynld'; cnode.parentNode.replaceChild(nnode,cnode); }else{ if(document.images){ var datasrc=new Image(); datasrc.src=getData; location.href=datasrc.src; } } } function check() { var google_conversion_id=1071970427; var google_conversion_language="ja"; var google_conversion_format="1"; var google_conversion_color="FFFFFF"; if(1){ var google_conversion_value=1; } var google_conversion_label="Purchase"; if(document.forms[0].size.selectedIndex){ dynamicLoad('http://www.googleadservices.com/pagead/conversion.js'); }else{ alert("サイズを選択してください!"); return false; } } document.write('<scr'+'ipt id="dynld"></scr'+'ipt>'); </script> <head> <boy> <form onsubmit="return check();" action="#" method="POST"> <select name="size"> <option>▼選択</option> <option>10cm</option> <option>20cm</option> </select> <input type="submit" value="買い物かごに入れる"> </form> </body> </html>
補足
arenani_sorenaniさん、お忙しいところサンプルソースを作っていただき大変感謝しております。 早速試してみたのですが、よくわからない点が3点あります。 お時間のあるときにアドバイスいただければ幸いです。 お手数かけて申し訳ありませんがよろしくお願いいたします。 ※補足が長すぎるため分割しました。 ●1● 外部スクリプトの読み出しのテスト方法について 外部スクリプトを実際に読み出しているかテストするのに何か良い方法はありますでしょうか。 ▼最初に教えていただいた 参考URL:http://game.gr.jp/mag2p/2/loadjs/loadjs.htm に ありますテスト用外部スクリプトを▼次の位置に置き換えてボタンを押してみましたが うまく動作しませんでした。 dynamicLoad('http://www.googleadservices.com/pagead/conversion.js'); ↓ dynamicLoad('http://bosan.net/test2/test2.js'); ●2● 完売とサイズ選択未入力の判定する外部スクリプトについて 完売とサイズ選択未入力について▼次のような関数を外部スクリプトに置いています。 あまり好ましくないソースコードだと自分でも思うのですが、すでにこれで運用して いるため、他のコードとの兼ね合いもあり変更が困難になっています。 変更で他のコードが動作しなくなったときに、知識不足で自分自身で対応ができないからです。 なお、完売ときは<IMG src="soldout.gif" name="soldout">という画像を貼り付けることで アラートウインドウを表示しています。 - check.js - ──────────────────── function check(fm) { for (i = 0; i < document.images.length; i++) { if (document.images["soldout"]){ alert("完売しました!"); return false; } if (fm.size.options[fm.size.selectedIndex].text == '▼選択' ) { alert("サイズを選択してください!"); return false; } } //check() このコードを教えていただいたサンプルソースに適用させてみました。 [買い物かごに入れる]をクリック 完売ではない→サイズ選択がされている→Googleの外部スクリプトを実行。 外部スクリプトの読み出しのテスト方法がわからないため、動作しているか どうか不明です。 誤りがありましたらご指摘いただければ幸いです。 - check.js 変更後- ──────────────────── function dynamicLoad(jsFileName){ var now =new Date(); var getData =jsFileName+'?nc='+now.getTime(); if(document.all){ if(navigator.userAgent.indexOf("Win")!=-1){ eval(document.all('dynld')).src = getData; }else if(navigator.userAgent.indexOf("Mac")!=-1){ document.body.insertAdjacentHTML('BeforeEnd','<scr'+'ipt src="'+getData+'"><scr'+'ipt/>'); } }else if(document.getElementById){ var cnode=document.getElementById('dynld'); var nnode=document.createElement('script'); nnode.src=getData; nnode.id ='dynld'; cnode.parentNode.replaceChild(nnode,cnode); }else{ if(document.images){ var datasrc=new Image(); datasrc.src=getData; location.href=datasrc.src; } } } function check() { var google_conversion_id=12345678; var google_conversion_language="ja"; var google_conversion_format="1"; var google_conversion_color="FFFFFF"; if(1){ var google_conversion_value=1; } var google_conversion_label="Purchase"; for (i = 0; i < document.images.length; i++) { if (document.images["soldout"]){ alert("完売しました!"); return false; } if (fm.size.options[fm.size.selectedIndex].text == '▼選択' ) { alert("サイズを選択してください!"); return false; } else { dynamicLoad('http://www.googleadservices.com/pagead/conversion.js'); } } document.write('<scr'+'ipt id="dynld"></scr'+'ipt>');
- arenani_sorenani
- ベストアンサー率73% (58/79)
えーと、紹介したダイナミックロード関数はユーザー定義関数です。 なので、 function dynamicLoad(){・・・・・} とhead内で宣言しないと使えません。 ソースを見させていただく限り、失礼かもしれませんがあまりjavascriptを 使い慣れてないようなので私の方で参考ソースをUPします。 今日は時間がないので、明日までお待ち下さい。 .
補足
※補足の続きです。 ●3● オーバチュアの対処方法 昨日からオーバーチュアも試しに使ってみることにしました。 こちらのコンバージョンコードは、Googleアドワーズと違って、外部スクリプトの 読み出しがないようなので簡単そうです。 となると、この場合は上のコードの次の部分に追加するだけでよいと思うのですが あっていますでしょうか。 else { dynamicLoad('http://www.googleadservices.com/pagead/conversion.js'); ▼ココに追加 // Overture Services Inc. 07/15/2003 var cc_tagVersion = "1.0"; : : ▲ } - オーバチュアのコンバージョンコード - ──────────────────── <SCRIPT LANGUAGE="JavaScript"> <!-- Overture Services Inc. 07/15/2003 var cc_tagVersion = "1.0"; var cc_accountID = "123456789"; var cc_marketID = "4"; var cc_protocol="http"; var cc_subdomain = "convctr"; if(location.protocol == "https:") { cc_protocol="https"; cc_subdomain="convctrs"; } var cc_queryStr = "?" + "ver=" + cc_tagVersion + "&aID=" + cc_accountID + "&mkt=" + cc_marketID +"&ref=" + escape(document.referrer); var cc_imageUrl = cc_protocol + "://" + cc_subdomain + ".overture.com/images/cc/cc.gif" + cc_queryStr; var cc_imageObject = new Image(); cc_imageObject.src = cc_imageUrl; // --> </SCRIPT>
- akanekor
- ベストアンサー率52% (102/194)
間違いならすみません(==; function 実行時に js ファイル読みに行くのが目的なら、 「自サイト内にある商品購入ページ」に隠しフレーム仕込んでおいて、 function 実行時にその隠しフレーム側に"js"をロードするhtmlを読み込ませてみてはいかがでしょうか?
お礼
akanekorさん、アドバイスありがとうございます。 なるほど、こんな手もあったんですね。 もし下のarenani_sorenaniさんに教えていただいた方法がうまく行かなかったら試してみます。 ありがとうございました。
- arenani_sorenani
- ベストアンサー率73% (58/79)
参考URLでご質問と同様のことをされてる方が その方法を紹介されてます。 AjaxやXMLHTTPRequestとは根本的に違いますが 結果的には、似たようなことができるようです。 ご質問と発想が非常ににてますので是非ご参照下さい。
補足
arenani_sorenaniさん、参考になるページを教えていただきありがとうございました。 早速、このページを元に▼次のように作ってみましたが、スクリプトの知識が足りないため、期待通りに動作しません。 どこに間違いがあるのでしょうか? ご指摘いただければ幸いです。 よろしくお願いいたします。 ●check.js ────── function check(fm) { // Google Code for Purchase Conversion Page var google_conversion_id = 1071970427; var google_conversion_language = "ja"; var google_conversion_format = "1"; var google_conversion_color = "FFFFFF"; if (1) { var google_conversion_value = 1; } var google_conversion_label = "Purchase"; // check form if (fm.size.options[fm.size.selectedIndex].text == '▼選択' ) { alert("サイズを選択してください!"); return false; } } //check() ●HTML ────── <HTML> <HEAD> <SCRIPT type="text/javascript" src="check.js"></SCRIPT> <SCRIPT type="text/javascript" src="dynamicload.js"></SCRIPT> </HEAD> <BODY> <FORM name="checkfm" onsubmit="return check(this);dynamicLoad('http://www.googleadservices.com/pagead/conversion.js')" action="外部セキュアサーバのURL.cgi" method="POST"> <SELECT name="size"> <OPTION>▼選択</OPTION> <OPTION>10cm</OPTION> <OPTION>20cm</OPTION> </SELECT> <INPUT type="submit" value="買い物かごに入れる"> </FORM> </BODY> </HTML>
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
質問文の例の様にはできません。 必要な外部スクリプトを呼び出す前に、 あらかじめ <script language="JavaScript" src="AAA.js"></script> のように読み込んでおきます。 場合によっては、 XMLHTTPRequestで読み込んで、 eval することもできるかもしれませんが、 そうする理由はあまりないと思います。
補足
こんにちは、BLUEPIXYさん。 いつも丁寧に教えていただき感謝しております。 今回の質問は説明が複雑になるため、ポイントだけを抜き出したのですが やはり説明不足でした。 改めて説明させていただきます。 今回の質問の目的は、アドワーズのコンバージョントラッキングを利用で きるようにするためです。 アドワーズの設定ガイドによると、コンバージョントラッキングとは、 下のスクリプトを購入確認ページに貼り付けるだけで、 アドワーズ経由の訪問者が購入したときにデータが送られ、 どのキーワードが有効だったかのか判るというものです。 購入確認ページが自サーバ内にあれば何の問題もないことなのですが、 「買い物かご」をレンタルしているため購入確認ページは外部の セキュアサーバ内にあります。 外部のサーバの内容を変更することができないため、 このスクリプトのままだと利用することができないのです。 そこで、自サイト内にある商品購入ページの「買い物かごに入れる」 ボタンを押したときに、このスクリプトを実行させることを思いつきました。 正確なコンバージョンデータは取得できませんが、これならば 「買い物かごに入れる」ボタンを押したときにデータを送信すること で同じような結果を期待できると考えたのです。 しかし、スクリプト内から外部スクリプトファイルを読み込む方法がわからず、 質問を投稿した次第です。 スクリプト内から外部スクリプトを呼び出すことができないとなると、 何か他によい方法はないもものでしょうか? もし解決策がありましたらアドバイスいただけるとうれしいです。 よろしくお願いいたします。 ■コンバージョントラッキング用スクリプト <!-- Google Code for Purchase Conversion Page --> <script language="JavaScript" type="text/javascript"> <!-- var google_conversion_id = 1234567890; var google_conversion_language = "ja"; var google_conversion_format = "1"; var google_conversion_color = "FFFFFF"; if (1) { var google_conversion_value = 1; } var google_conversion_label = "Purchase"; //--> </script> <script language="JavaScript" src="http://www.googleadservices.com/pagead/conversion.js"></script> <noscript><img height=1 width=1 border=0 src="http://www.googleadservices.com/pagead/conversion/1071970427/?value=1&label=Purchase&script=0"></noscript> ■苦肉の策 ○スクリプト function check(fm) { var google_conversion_id = 1234567890; var google_conversion_language = "ja"; var google_conversion_format = "1"; var google_conversion_color = "FFFFFF"; if (1) { var google_conversion_value = 1; } var google_conversion_label = "Purchase"; ここで http://www.googleadservices.com/pagead/conversion.js を読み込む } ○HTML <FORM name="checkfm" onsubmit="return check(this)" action="外部セキュアサーバのURL.cgi" method="POST"> : <INPUT type="submit" value="買い物かごに入れる"> : </FORM>
補足
arenani_sorenaniさん、お手間を取らせてしまって申し訳ありません。 教えていただいたコードで期待通りに動くのを確認しました。 これでようやく広告費の効果を確かめることができます。 いろいろ丁寧に教えていただきありがとうございました。 大変感謝しております。 いただいたコードを元に買い物かごに入れるたびにデータを送信しないようにクッキーを使って改造してみました。 最初に買い物かごに入れたときだけデータを各社に送信しますが、2回目以降はデータを送信しません。 よそのスクリプトをつぎはぎしたのでこれが正しいのかどうか不安なところです。 もし「これは良くない」「これは直した方がいい」という点がありましたらご指摘いただければうれしいです。 <html> <head> <script> var name = "VALID"; // クッキーの名前 var value = 1; // クッキーの値 var period = 7; // 有効期限日数 // 発行したクッキーの取得(読み込み) if (document.cookie) { var cookies = document.cookie.split("; "); for (var i = 0; i < cookies.length; i++) { var str = cookies[i].split("="); if (str[0] == name) { var cookie_value = unescape(str[1]); if (!isNaN(value)) value = ++cookie_value; break; } } } window.status = value; // 有効期限の作成 var nowtime = new Date().getTime(); var clear_time = new Date(nowtime + (60 * 60 * 24 * 1000 * period)); var expires = clear_time.toGMTString(); // //dynamicLoad // function dynamicLoad(jsFileName){ var now =new Date(); var getData =jsFileName+'?nc='+now.getTime(); if(document.all){ if(navigator.userAgent.indexOf("Win")!=-1){ eval(document.all('dynld')).src = getData; }else if(navigator.userAgent.indexOf("Mac")!=-1){ document.body.insertAdjacentHTML('BeforeEnd','<scr'+'ipt src="'+getData+'"><scr'+'ipt/>'); } }else if(document.getElementById){ var cnode=document.getElementById('dynld'); var nnode=document.createElement('script'); nnode.src=getData; nnode.id ='dynld'; cnode.parentNode.replaceChild(nnode,cnode); }else{ if(document.images){ var datasrc=new Image(); datasrc.src=getData; location.href=datasrc.src; } } } function check() { if(document.images["soldout"]){ alert("完売しました!"); return false; }else if(!document.forms[0].size.selectedIndex) { alert("サイズを選択してください!"); return false; }else { // クッキーの発行(書き込み) document.cookie = name + "=" + escape(value) + "; expires=" + expires; if (value == 1) { // //Google Code for Purchase Conversion Page // var google_conversion_id=123456789; var google_conversion_language="ja"; var google_conversion_format="1"; var google_conversion_color="FFFFFF"; if(1){var google_conversion_value=1;} var google_conversion_label="Purchase"; dynamicLoad('http://bosan.net/test2/test2.js'); // //Overture Services Inc. 07/15/2003 // var cc_tagVersion = "1.0"; var cc_accountID = "123456789"; var cc_marketID = "4"; var cc_protocol="http"; var cc_subdomain = "convctr"; if(location.protocol == "https:"){ cc_protocol="https"; cc_subdomain="convctrs"; } var cc_queryStr = "?" + "ver=" + cc_tagVersion + "&aID=" + cc_accountID + "&mkt=" + cc_marketID +"&ref=" + escape(document.referrer); var cc_imageUrl = cc_protocol + "://" + cc_subdomain + ".overture.com/images/cc/cc.gif" + cc_queryStr; var cc_imageObject = new Image(); cc_imageObject.src = cc_imageUrl; } // //外部との通信完了後に送信するために送信遅延時間を設定 // setTimeout("xx()",2000);//この時間を調整2000は2秒の意味 } } function xx(){ document.forms[0].submit(); } document.write('<scr'+'ipt id="dynld"></scr'+'ipt>'); </script> <head> <body> <form action="about:blank" method="POST"> <select name="size"> <option>▼選択</option> <option>10cm</option> <option>20cm</option> </select> <input type="button" value="買い物かごに入れる" onclick="check()" /> </form> </body> </html>