window.onload不会调用,也不会创建`<base />`标记

时间:2016-09-12 15:58:06

标签: javascript html google-chrome

我有这个嵌入了js的html页面

<html xmlns="http://www.w3.org/1999/xhtml">
  <title>Versions: 1.0.715 vs. 1.0.715 [ route HISTORIC_TIME ]</title>

  <head>
    <script type="script">
function createBase() {
  var str1 = window.location.href; 
  alert("check"); 
  var base = document.createElement('base'); 
  base.href = str1; 
  document.getElementsByTagName('head')[0].appendChild(base);
} 
window.onload = createBase;
    </script>
  </head>

  <body style="">
    <div class="content-background" style="background-color: #4285f4;   height: 398px;   position: absolute;   width: 100%;   top: 60px; z-index: -1;"></div>

  </body>

</html>

我尝试使用当前网址添加<base>标记。但是,我刷新页面并且未显示警报,并且未创建<base>标记。

为什么?

1 个答案:

答案 0 :(得分:0)

<script type="script">

script不是已注册的mime类型。它不是我所知道的任何浏览器都支持的编程语言。由于浏览器不知道该语言,因此不会尝试执行它。

JavaScript的正确mime类型为application/javascript(或旧版浏览器的text/javascript)。

从HTML 5开始,type属性是可选的,在编写JavaScript时应该完全省略(因为它浪费了字节,并提供了使用打字错误来破解代码的机会)。