如何在不存储在浏览器中的情况下更改JavaScript中的URL';历史
我想在不影响浏览器历史记录的情况下更改javascript中的URL。 我有这个网址如何在不存储在浏览器中的情况下更改JavaScript中的URL';历史,javascript,wordpress,url,browser-history,Javascript,Wordpress,Url,Browser History,我想在不影响浏览器历史记录的情况下更改javascript中的URL。 我有这个网址 http://abcd.com/parent/child/?id=xyz abc 这是WordPress的URL我想要这个 http://abcd.com/newurl/xyz ABC 我正在使用javascript中的history.replaceState函数来更改URL,但只要我在浏览器中单击后退按钮或刷新页面,它就会将我从当前页面重定向到主页 我想要的是,它应该存储原始URL(http://abcd.
http://abcd.com/parent/child/?id=xyz abc
这是WordPress的URL我想要这个
http://abcd.com/newurl/xyz ABC
我正在使用javascript中的
history.replaceState
函数来更改URL,但只要我在浏览器中单击后退按钮或刷新页面,它就会将我从当前页面重定向到主页
我想要的是,它应该存储原始URL(http://abcd.com/parent/child/?id=xyz abc
)并向用户显示此URL(http://abcd.com/newurl/xyz ABC
)
我只想更改URL,而不是历史记录。
这是我的javascript代码
history.replaceState('', 'my title', 'http://abcd.com/newurl/<?php echo str_replace(" ","-",$_GET["id"]); ?>');
history.replaceState(''my title','http://abcd.com/newurl/');
$\u GET[“id”]
是stirng xyz ABC这个怎么样
function changeUrl(title, url) {
if (typeof (history.pushState) != "undefined") {
var obj = {Page: title, Url: url};
history.pushState(obj, obj.Page, obj.Url);
}
}
我认为你走错了路。您应该使用自定义重写规则在WordPress中解决此问题,而不是在JavaScript中解决此问题 请在此处阅读更多信息: 详细解决方案: 例如,您需要url
http://example.com/india/?id=vip/
将成为http://example.com/india/vip/
其中india
是page slug
和id
是您的查询变量
将以下代码添加到functions.php
文件中:
function add_query_vars($queryVars) {
$queryVars[] = "id"; // represents the name of the string as shown in the URL
return $queryVars;
}
// hook add_query_vars function into query_vars
add_filter('query_vars', 'add_query_vars');
function add_rewrite_rules($aRules) {
$aNewRules = array('india/([^/]+)/?$' => 'index.php?pagename=india&id=$matches[1]');
$aRules = $aNewRules + $aRules;
return $aRules;
}
// hook add_rewrite_rules function into rewrite_rules_array
add_filter('rewrite_rules_array', 'add_rewrite_rules');
在代码中,比如说page.php
可以使用如下变量
if(isset($wp_query->query_vars['id'])) {
$testid = urldecode($wp_query->query_vars['id']);
}
echo $testid;
注意:更改上述内容后,请确保重置永久链接 它的工作很好,但每当我点击后退按钮,它只是显示旧的网址,但没有重定向我。但当我在浏览器中再次单击后退按钮时,它会将我重定向到主页。有没有办法更改URL。。。?我已经解决了这个问题一个星期了,但仍然面临着这个问题。我该怎么做?你能告诉我我是WordPress的新手吗?这就是我面临这个问题的原因。Text pagename是一个自定义页面,我使用GET['id']从数据库获取数据。如何转换我的URL文本请检查更新的答案。让我知道这是否解决了你的问题。我现在有了这个URL。我将你的代码粘贴到我的functions.php文件中,但它不起作用。我不知道为什么35; KiranDash你在那里。。?