zoukankan      html  css  js  c++  java
  • Base标签小记:更改当前页面的地址

    一般来说,H5游戏的部署,index.html和代码资源都会放在同一个地址下然后使用iFrame导入到需要加载游戏的页面即可。

    但是今天游戏项目部署遇到了一个问题,游戏自己的访问页面(index.html)的地址(a.com)和游戏代码资源的地址(b.com)不在一个地方,这就导致在index中加载了游戏代码后,游戏代码中引用的所有相对路径的资源都报404,(比如实际地址是b.com/res/1.png,但是由于加载到index中,使用a.com的路径,所以请求地址变成了a.com/res/1.png,当然会404了。)

    解决方法就是修改当前页面的默认地址,即Base标签。

    地址不变时

    游戏资源地址不会变化时可以这么写:

    <html>
    <head>
    <base href="http://www.b.com/res/" />
    </head>
    <body>
    </body>
    </html>

    此时,当前页面下的所有相对路径都相对于b.com/res/这个路径来寻找。

    地址会变动时

    地址会变动时,可以采用js动态添加base标签或动态修改base标签来改变默认地址,如下:

    1 var basePath = ""; // 各种方式获取要更改的默认路径
    2 
    3 var base = document.createElement("base");
    4 base.setAttribute("href", basePath);
    5 document.getElementsByTagName('head')[0].appendChild(base);

    效果一致。

    注意事项

    默认地址一旦改变,就会影响当前页面上的所有相对路径。

  • 相关阅读:
    python相关遗漏知识点补充
    关于viewpager的滑动问题
    C++学习一二
    Neo4j 爬坑笔记for3.2.6
    ZTree简单粗暴快速使用
    阅读HashMap——jdk7时遇到的问题记录
    【安装】Hadoop2.8.0搭建过程整理版
    html、jsp页面标签的遍历
    tomcat配置多个数据源
    java线程
  • 原文地址:https://www.cnblogs.com/hammerc/p/7519717.html
Copyright © 2011-2022 走看看