我的HTML代码中包含此代码:
<h3 id="left">Lorem Ipsum </h3>
<h3 id="right">[Current URL Here]</h3>
我想(动态地)显示<h3>
标记内的当前网址。我一直试图弄清楚几天,但我真的是一个移动开发人员,而不是一个HTML开发人员,所以事实证明这很困难。我需要这个用于我正在处理的应用程序,所以请放轻松我:)
提前致谢。
答案 0 :(得分:9)
document.getElementById('right').innerHTML = window.location.href;
答案 1 :(得分:3)
如果你想用PHP做,那就更多了:
$url = !empty($_SERVER['HTTPS']) ? 'https://' : 'http://';
$url .= $_SERVER['HTTP_HOST'] . htmlspecialchars($_SERVER['REQUEST_URI']);
正如aronasterling指出的那样,您需要清理$_SERVER['REQUEST_URI']
以防止XSS。
答案 2 :(得分:2)
好吧,你根本无法用纯HTML做到这一点。
使用javascript,您可以使用
<h3 id="right">
<script type="text/javascript">
document.write(location.href);
</script>
</h3>
否则,如果您在服务器上请求页面,则应该在那里完成它。
答案 3 :(得分:0)
获取当前页面完整URL的php代码如下
<?php
$protocol = $_SERVER['HTTPS'] == 'on' ? 'https' : 'http';
echo $protocol.'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
?>
如果你想使用javascript,请使用@MooGoo建议的方法
该脚本的完整用法如下
<SCRIPT LANGUAGE="JavaScript">
document.getElementById('right').innerHTML = window.location.href;
</SCRIPT>
在声明/定义<h3 id="right">[Current URL Here]</h3>
希望有用
答案 4 :(得分:0)
<script type="text/javascript">
var segments = window.location.pathname.split('/');
var toDelete = [];
for (var i = 0; i < segments.length; i++) {
if (segments[i].length < 1) {
toDelete.push(i);
}
}
for (var i = 0; i < toDelete.length; i++) {
segments.splice(i, 1);
}
var filename = segments[segments.length - 1];
console.log(filename);
document.write(filename);
</script>
答案 5 :(得分:-1)
虽然JavaScript更常见,但您也可以使用服务器端包含:
<h3 id="right">
<!--#echo var="SERVER_NAME" -->/<!--#echo var="DOCUMENT_URI" -->
</h3>
SERVER_NAME
,您可以尝试HTTP_HOST
DOCUMENT_URI
您可以尝试REQUEST_URI
;一个包含查询字符串,另一个不包含答案 6 :(得分:-1)
Php代码:
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
<h3 id="right">echo curPageURL();</h3>