2012-03-13 22 views
-4

javascriptの条件に基づいて、外部HTMLページを呼び出してWebサイトに表示しようとしています。JavaScript内で外部HTMLページを呼び出す

コードは今、代わりに米国の訪問者にHTMLページの内容を表示するので、それは単純に「http://www.mywebsite.com/1.html」を表示するには、この

<script language="JavaScript" src="http://j.maxmind.com/app/country.js"></script> 

<script type="text/javascript"> 

var country = geoip_country_code(); 

if (country == "US") 
{ 
document.write("http://www.mywebsite.com/1.html"); 
} 

else if (country == "GB") 
{ 
document.write("<a href='#'><img src='http://www.image2.com' ><a/>"); 
} 

else 
{ 
document.write("<a href='#'><img src='http://www.image3.com' ><a/>"); 
} 
</script> 

のようなものですテキスト。

外部HTMLを呼び出す関数がありません。助けてもらえますか?おかげで

答えて

2

あなたは要素を意味しますか?

document.write('<iframe src="http://www.mywebsite.com/1.html"></iframe>'); 

は、そのコンテンツのサイズに合わせて自身のサイズを変更することはできませんので、(あなたは、コンテンツの実際のサイズを知っていれば)それをwidth/height属性やスタイルを与えるようにしてください。

1

URLのテキストをページに吐き出しても、そのページの内容は魔法のようには取得されません。このタイプのアクティビティは通常、サーバーが別のページからコンテンツを取得して、そのコンテンツをページの一部として提供するSERVERで発生します。 JavaScriptはこの仕事のための間違ったツールです。

1

この種類のものは、PHPのようなものでサーバ側を行う方が実際には優れていますが、ここでは商用ジョブの多くで使用する関数があります。繰り返しますが、この機能をページ全体の読み込みに使用することは許されませんが、ツールボックスに入れるのは本当に便利です。誰かがこれを行うためにJQueryを使用しなければならないと言うなら、私のためにそれらを蹴る。^_^

function fetchHTML(url) 
{ 
    if('undefined' == typeof(url)) return false; 

    if(document.all){ 
    p = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    else 
    { 
    p = new XMLHttpRequest(); 
    } 
    rnd = Math.random().toString().substring(3); 
    if(url.indexOf('?') > -1) 
    { 
    url+='&rnd='+rnd; 
    } 
    else 
    { 
    url+='?rnd='+rnd; 
    } 

    p.open("GET",url,false); 
    p.send(null); 
    return p.responseText; 
} 
1

だけでなく、あなたはdocument.write()関数に文字列を与えている、そしてそれは、それが表示するようになっていたという文字列が表示されている理由です。他のページのコンテンツを表示する場合は、を使用するか、ajaxを使用するかの2つの選択肢があります。

関連する問題