旧版代码:window.parent.location.href =“https:/ home”

时间:2013-08-16 17:37:38

标签: javascript redirect location-href window.parent

我继承了前开发人员的一些代码,我发现了这段代码。

<?php
   if($this->loginAction->isAuthenticated()){
?>
   <script type="text/javascript">
      window.parent.location.href="https:/home";
   </script>
<?php
}
?>

我已经看了一段时间,我不知道他为什么要把URL放在那里。我认为网址应为https://mysite.com/home。我基本上不知道这段代码是做什么的。

编辑:我知道如果用户通过身份验证,此代码是重定向,但我不知道奇怪的网址(https:/ home)在那里做了什么。这段代码正在运行。

感谢您的帮助。

Edit2:根据我的同事,这是JS的秘密之一:)去测试它。这两行代码应具有相同的功能:

window.parent.location.href="https:/home";
window.parent.location.href="https://www.my-testing.com/home";

3 个答案:

答案 0 :(得分:1)

这是URI,它根据此处的规范有效:第3部分中引用的https://www.ietf.org/rfc/rfc2396.txt:此处引用:(粗体和突出显示是我的)这表示方案 https 然后是分隔符冒号,其余的是可选的。因此,单个正斜杠可能被解释为根或&#34; full&#34; &#34; https://home&#34;的URI或者只是&#34; / home&#34;当前的提供者。可能这看起来像&#34; https://www.example.com/home&#34;如果您的网站是www.example.com(它不是规范中的那个也是保留名称),这是您网站的DNS地址。请注意,如果该计划缺失为&#34; // www.ourbug.ne​​t&#34;那么这将被转换为当前使用的方案(大多数资源的http或https)

引自引用:

第3。 URI语法组件

URI语法取决于方案。一般来说,绝对的    URI编写如下:

  <scheme>:<scheme-specific-part>

绝对URI包含正在使用的方案的名称()    然后是冒号(&#34;:&#34;),然后是一个字符串(),其解释取决于方案。

URI语法不要求scheme-specific-part具有    任何一般结构或一组语义,这是所有人共同的    URI。但是,URI的一个子集确实共享一个共同的语法    表示命名空间内的层次关系。 :此    &#34;通用URI&#34;语法由四个主要组件序列组成:

  <scheme>://<authority><path>?<query>

除了特定URI之外,其中每一个都可能不存在。    例如,某些URI方案不允许组件,    和其他人不使用组件。

  absoluteURI   = scheme ":" ( hier_part | opaque_part )

本质上是分层的URI使用斜杠&#34; /&#34;性格    分离层次组件。对于某些文件系统,&#34; /&#34;    character(用于表示URI的层次结构)是    分隔符用于构造文件名层次结构,从而构造URI    path看起来类似于文件路径名。这并不意味着    资源是一个文件,或者URI映射到实际的文件系统    路径名。

  hier_part     = ( net_path | abs_path ) [ "?" query ]

  net_path      = "//" authority [ abs_path ]

  abs_path      = "/"  path_segments"

答案 1 :(得分:0)

好吧,似乎说登录操作是否经过身份验证,然后将用户重定向到新的网址。

对我来说似乎是一个错误。我不相信https:/ home不仅仅是一个错字。

答案 2 :(得分:0)

尝试:

<script type=text/javascript>
   window.parent.location="https://www.my-testing.com/home";
</script>