说index.html
网址为http://localhost/index.html
。
HTML:
<div id='test'></div>
<script>
var el = document.querySelector('#test');
el.style.background = 'url("/test.png")';
</script>
输出html将是:
<div id="test" style="background: url(http://localhost/test.png);"></div>
我不想拥有主机前缀http://localhost
。如何防止浏览器的默认行为?
为什么要这个?我正在开发一个页面编辑器。在编辑html之后,我需要将干净的html发送回服务器。
我只是想知道是否有一种优雅的方式来实现它。请不要使用正则表达式替换或额外标记属性解决方案。
答案 0 :(得分:0)
尝试添加基本标记...在您的情况下类似
<base href="http://localhost" target="_blank">
然后在你的脚本中使用:
el.style.backgroundImage = 'url("test.png")';
站立//localhost/test.png存在,并记住为div提供正确的维度!