gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 12:43:27 24 4
gpt4 key购买 nike

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

现在,当我直接转到子页面 (htps://localhost/myWebsite/childPage.php) 时,该页面将在没有样式的情况下加载,并且该网站不会位于 index.php 上。

所以我编写了一个解决方案,将所有子页面重定向回index.php页面,并根据我通过HTML5传递的 session 变量加载框架内容。一旦进入index.php页面, session 变量将被清除,一切都很好。

唯一的问题是我在外部 .JS 文件中硬编码了一个用于条件检查的 URL,该文件保存了用于重定向、设置/清除 session 变量的过程。我的老板说他不想进行任何硬编码,所以我想知道是否有办法获取 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 获取服务器根目录,但它会将我导航到网站的分层 View 。

有办法做到这一点吗?或者我应该找到完全不同的解决方案?

最佳答案

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

var REDIRECT="/myWebsite/index.php"

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

请注意,这里我使用了/并省略了完整的网站 URL。这样,如果您必须将站点从本地计算机移动到实时版本,您的重定向应该仍然有效。

这里:How to extract base URL from a string in JavaScript?是一个解决计算 url 基本路径的问题,您在其他情况下可能需要该路径。

关于javascript - 如何从另一个页面 JavaScript/PHP 获取 URL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23435070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com