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

汤姆·赫特

我已经从我们以前的开发人员那里继承了一些代码,并且发现了这段代码。

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

我已经看了一段时间了,我不知道他为什么要在其中放置U​​RL的快捷方式。我认为该网址应为https://mysite.com/home我基本上不知道这段代码是做什么的。

编辑:我知道如果用户通过身份验证此代码是重定向,但我不知道奇怪的URL(https:/ home)在做什么。该代码正在工作。

感谢您的任何帮助。

Edit2:据我的同事说,这是JS的秘密之一:)要对其进行测试。这两行代码应具有相同的功能:

window.parent.location.href="https:/home";
window.parent.location.href="https://www.my-testing.com/home";
马克·舒尔蒂斯

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

从引用引用:

3. URI语法组件

URI语法取决于方案。通常,绝对URI编写如下:

  <scheme>:<scheme-specific-part>

绝对URI包含正在使用的方案的名称(),后跟冒号(“:”),然后是字符串(the),其解释取决于方案。

URI语法不需要特定于方案的部分具有所有URI中通用的任何常规结构或语义集。但是,URI的子集确实共享一种通用语法,用于表示名称空间内的层次结构关系。此“通用URI”语法包含四个主要部分的序列:

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

特定的URI中可能没有每个元素,但除外。例如,某些URI方案不允许使用组件,而其他URI方案则不使用组件。

  absoluteURI   = scheme ":" ( hier_part | opaque_part )

本质上是分层的URI使用斜杠“ /”字符来分隔分层组件。对于某些文件系统,“ /”字符(用于表示URI的层次结构)是用于构造文件名层次结构的分隔符,因此URI路径看起来类似于文件路径名。这并不意味着资源是文件,也不意味着URI映射到实际的文件系统路径名。

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

  net_path      = "//" authority [ abs_path ]

  abs_path      = "/"  path_segments"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章