我使用以下代码来检索服务器的主机名,并向其追加一些文本(文件名),然后将其显示在html页面上。
<script type="text/javascript">
function getBaseUrl() {
var re = new RegExp(/^.*\//);
}
</script>
<script type="text/javascript">
document.write(getBaseUrl() + "filename.ext");
</script>
这将生成一个服务器URL,比如https://fqdn/folder/filename.ext,这正是我所需要的。我试图从它创建一个链接的所有东西都破坏了它。如何使生成的文本可点击?
发布于 2018-06-26 07:52:46
做起来很简单-
const link = getBaseUrl()+ "filename.ext";
createLinkNode(link, document.body);
// defining a function to create a link node, however this isn't neccessary,
// you could just hard code the logic above.
// I wouldn't recommend setting innerHtml in lieu of making a text node however.
function createLinkNode(url, parent) {
const linkTextNode = document.createTextNode(url);
const linkNode = document.createElement('a');
linkNode.href = url;
linkNode.appendChild(linkTextNode);
parent.appendChild(linkNode);
}
发布于 2018-06-26 08:25:04
尝试一下,我假设getBaseUrl()是有效的,尽管看起来不像这样。只需要提醒一下,<a>
标记需要在<script>
块下
<script>
function getBaseUrl() {
var re = new RegExp(/^.*\//);
}
</script>
<a href="javascript:" onclick="location.href=getBaseUrl() + 'filename.ext'">Click</a>
https://stackoverflow.com/questions/51033111
复制相似问题