[英]HTML5 window.history doesn't run new javascript
我有一个页面,显示来自数据库的一些数据。 这些数据行中的每一个都有一个带有ID的链接。
<a href="javascript:void(0);" onClick="changeUrl(\'?side=annoncer&sletid='.$row['annonce_id'].'\');">
这是changeUrl
函数:
function changeUrl(url) {
window.history.replaceState(null, "Title", url);
}
链接指向添加了&sletid
的同一页面。 设置&sletid
,页面应使用所选行的ID弹出窗口。
if (isset($_GET['sletid'])) {
$sletid = $_GET['sletid'];
echo "<script language='JavaScript'>alert ('ID:".$sletid."');</script>";
}
URL发生更改,并且弹出脚本代码已添加到源中,但是除非我再次手动更新页面,否则不会显示弹出窗口。 为什么会这样呢?
replaceState
实际上并不加载页面,它只是在浏览器中编辑历史记录(和位置栏)。 您需要使用AJAX自己加载页面。
您的phpcode不会执行,因为历史记录状态的更改只会影响客户端。 您需要在客户端上监听历史记录的更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.