2012-03-09 7 views
0

GoDaddy WindowsサーバーでホストされているWebサイトのモバイル版を作成する作業を進めています。 GoDaddyがモバイルサブドメインを処理する方法は、そのWebページをフレーム内に置くことです。たとえば:
Get Frame srcアドレスバーのURL

<head> 

</head> 
<frameset rows="100%,*" border="0"> 
<frame src="myurl.com" frameborder="0" /> 
<frame frameborder="0" noresize /> 
</frameset> 

<!-- pageok --> 
<!-- 02 --> 
<!-- --> 
</html> 

問題は、そのページで私が開いて任意のリンクがフレーム内で開き、アドレスバーにURLが変更されないということです。だから私の質問は、ブラウザのアドレスバーに表示するフレームURLを取得する方法です。私が知る限り、GoDaddyは私にそれを変更させるために上記のhtmlファイルにアクセスできません。各ページには初期のPHPスクリプトがあり、モバイルブラウザにリダイレクトする必要があるかどうかをチェックするため、PHPでこれを行う方法があれば簡単に実装できます。

ご協力いただきありがとうございます。

答えて

2

あなたは、このページにJavaScriptを使用して達成することができます:現在のフレームの場所に、親フレームウィンドウの位置を設定することにより、

top.location.href = document.location.href; 

親フレームのうち、この効果「休憩」を。このことができます

if (
    (document.location.href.indexOf("#ibrokeout") == -1) && 
    (top.location != location) 
) { 
    // Break out of the frame 
    top.location.href = document.location.href + "#ibrokeout"; 
    } 

希望:ループを防ぐためとして、もちろん

は、あなたがちょうどフレームの勃発指標のいくつかの並べ替えを持っているしたいと思います。

+0

ありがとうございました。私は今このコードを試しましたが、うまくいかないようです。私は2つの場所のためにそれが何を読んでいたかを見るために警告()を投げてみました。問題はwindow.parent.locationにあるようです。なぜそれに問題があるのか​​知っていますか? – gdawgrancid

+0

さらに詳しい情報があれば、FirebugのページのDOMオブジェクトの内容を見ていて、フレーム内のリンクから別のページに移動すると、ウィンドウの下の位置要素は前のページになります現在のページURLを印刷しているどこの場所であれ(firebug検索機能を使用して)を探します。ただし、ページはフレーム内に表示されます。 – gdawgrancid

+0

これは、document.referrerプロパティをチェックすることでこれを行うことができたように見えます。これは、モバイルサブドメインがあるページから来るときにのみ発生します。 – gdawgrancid

関連する問題