アプリ版:「スタンプのみでお礼する」機能のリリースについて

リンク元に引数を入力して、リンク先でページのインラインフレームのページが指し換わるjavascriptを実行させたいです。

実行させたいjavascriptは

function change(URL1,URL2) {
document.getElementById('contents1').innerHTML = '<iframe src="'+URL1+'" width="620" height="343" frameborder="0" scrolling="no" name="myFrame1" marginwidth="0" marginheight="0" hspace="0" vspace="0"></iframe>' ;
document.getElementById('contents2').innerHTML = '<iframe src="'+URL2+'" width="620" height="215" frameborder="0" scrolling="no" name="myFrame2" marginwidth="0" marginheight="0" hspace="0" vspace="0"></iframe>' ;
}

引数からURL1とURL2に代入したいです。
アドバイスよろしくおねがいいたします。

A 回答 (1件)

iframeにidをふってsrcを入れ替えるという手は選択肢にないですか?

この回答への補足

すいません、質問の仕方がわるかったです・・・
その方法でも問題ないのですが、リンク元でたとえば
index.html?URL1=www.yahoo.com&URL2=www.google.com
とあったときに、それぞれの引数をもってくる記述方法がわかりません。
サイトで調べてlocation.searchで?以下を取得するというところまではわかり、とりあえず記述してみましたが、実行されません。
javascript初心者なため、サイトからコピーしてきた記述ですが、以下のように記述しました。

window.onload=function(){
q = location.search.slice(1).split('&');
h = new Array();
for (var i=0 , c=q.length ; i < c ; i++) {
var s = q[i].split('=');
h[s[0]] = s[1];
}

return h;
var ar = get_t();
if (ar["q"] != undefined){

//ここ以下のインラインフレームの切り替えの記述は別な方法でも大丈夫です。
document.getElementById('contents1').innerHTML = '<iframe src="'+q+'" width="620" height="343" frameborder="0" scrolling="no" name="myFrame1" marginwidth="0" marginheight="0" hspace="0" vspace="0"></iframe>' ;
document.getElementById('contents2').innerHTML = '<iframe src="'+t+'" width="620" height="215" frameborder="0" scrolling="no" name="myFrame2" marginwidth="0" marginheight="0" hspace="0" vspace="0"></iframe>' ;

} }



ちなみに、既述したfunctionは、インラインフレームの含まれるページで何度もインラインフレームの中身がきりかわったときに、backspaceでインラインフレームの中身がもどるのではなく、ページ全体が前のページに戻る仕様にするためにつかっているものでした。

補足日時:2008/03/28 13:36
    • good
    • 0
この回答へのお礼

いい参考みつけました。
var arg = new Object;
var pair=location.search.substring(1).split('&');
for(i=0;pair[i];i++) {
var kv = pair[i].split('=');
arg[kv[0]]=kv[1];
}
var link1=arg["link1"];
var link2=arg["link2"];
これでできました。
ありがとうございました。

お礼日時:2008/03/28 14:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!