2

我想要整个字符串http://mywebsite.com?u=http://othersite.com?thisis立即发送。如果我把它放在像 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

您必须转义嵌套的 URLencodeURIComponent()以使 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 回答