繁体   English   中英

如何从另一个页面获取URL值JavaScript / PHP

[英]How to get a URL value from another page JavaScript / PHP

我有一个带有父页面(index.php)的网站,该页面将所有子页面加载到一个框架中并保持URL静态(因此,如果在整个站点中导航,URL始终为htps:// localhost / myWebsite /)。

现在,当我直接转到子页面(htps://localhost/myWebsite/childPage.php)时,该页面将不加样式地加载,并且该网站将不在index.php上。

因此,我通过将所有子页面重定向回index.php页面并根据我通过HTML5传递的会话变量加载了框架内容,从而编写了解决方案。 一旦在index.php页面上,会话变量将被清除,一切正常。

唯一的问题是,我在外部.JS文件中硬编码了用于条件检查的URL,该文件保存了我用于重定向,设置/清除会话变量的过程。 我的老板说,他根本不需要任何硬编码,所以我想知道是否有一种方法可以获取index.php页面的URL值,而不管您当前所在的页面如何?

我需要有一个变量,该变量将始终保持值“ htps:// localhost / myWebsite /”(主URL),并且一个变量将始终保持该值:“ htps://localhost/myWebsite/index.php”(主页)

var theURL = window.location.protocol 
             + "//" 
             + window.location.hostname 
             + window.location.pathname;


var theURL = document.URL;

两者都非常适合抓取当前的URL值,但是可以在不同的页面上进行更改。 我曾尝试使用PHP来获取服务器根目录,但是它将我导航到网站的分层视图。

有没有办法做到这一点? 还是应该完全找到其他解决方案?

index.php并没有什么特别之处,它可以让您通过javascript找到它。 您可以使用php在网站根目录下搜索“ index.php”,但这将完全多余,因为您已经知道它在哪里。 这里的“硬编码”实际上并不意味着您认为的含义。 通常,处理这种情况的方式是通过定义一个变量(在php中为常量)来保存该值,例如

var REDIRECT="/myWebsite/index.php"

然后使用绝对值代替绝对重定向。 这样,如果将来需要更改,则可以在一个地方进行更改。 实际上,这实际上是一个关于逻辑上可以做什么的问题,而不是您可以使用JavaScript做什么的问题。 您不能重定向到,也不能计算任意目的地的路径。 所述路径必须以某种方式计算,在您的情况下,计算是微不足道的-您已经知道它是什么。

请注意,在这里,我使用了/,并省略了完整的网站网址。 这样,如果您必须将站点从本地计算机移至实时版本,则重定向仍应起作用。

此处: 如何从JavaScript中的字符串中提取基本URL? 是一个问题,用于解决在不同情况下可能需要的URL计算基本路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM