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);

    效果一致。

    注意事项

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

  • 相关阅读:
    镜像转换:img转换为iso
    IDM的谷歌插件安装
    Adams和UG许可证冲突问题
    步进电机驱动总结
    比赛官网收集
    树莓派安装pip包管理工具
    光固化打印后处理过程
    Arduino 串口库函数
    六足蜘蛛机器人行走控制
    温湿度传感器DHT11程序示例
  • 原文地址:https://www.cnblogs.com/hammerc/p/7519717.html
Copyright © 2011-2022 走看看