2

この文字列全体http://mywebsite.com?u=http://othersite.com?thisを一度に送信します。bit.lyのようなURL短縮サービスに入れると機能しますが、そのままにしておくと壊れてしまいます。

<script>
  function go(){
    window.frames[0].document.body.innerHTML='<form target="_parent" action="http://mywebsite.com?u=http://othersite.com?thisis"></form>';
    window.frames[0].document.forms[0].submit()
  }    
</script>
4

2 に答える 2

4

encodeURIComponent()URL を有効にするには、ネストされた URL をエスケープする必要があります。

つまり、このようなことをするということです。

function go(){
    var uri = 'http://mywebsite.com?u=' 
        + encodeURIComponent('http://othersite.com?thisis');

    window.frames[0].document.body.innerHTML = 
        '<form target="_parent" action="' 
        + uri 
        + '"></form>';
    window.frames[0].document.forms[0].submit();
}    
于 2012-09-20T18:11:49.423 に答える
0

試す

<script>
  function go(){
    window.frames[0].document.body.innerHTML='<form target="_parent" action="http://mywebsite.com?u=' + encodeURIComponent('http://othersite.com?thisis') + '"></form>';
    window.frames[0].document.forms[0].submit()
  }    
</script>
于 2012-09-20T18:13:00.440 に答える