如何彻底干掉 Cesium Viewer 中的商标

版权没有,翻版不究。

这么做貌似有点不太道德,不过既然官方都开源了,本着学习的目的去研究研究源码未尝不可。

虽然百度上有大把通过 css 手段隐藏商标的代码,但是终究差几分意思。遂决定自己撸。

众所周知,Cesium 每个月的分发包(或叫发布包、预编译包等)内都有一个 Source 目录,里头是源代码,模块化系统是 ESM,面向对象的实现是 ES5。

寻找源代码文件 Source/Core/Ion.js

找到这个 Ion.js 文件,不难发现这个 export 出来的类(或构造函数)定义了商标信息和默认的访问 token。

修改源代码并执行编译打包命令

只需修改这个方法:

Ion.getDefaultTokenCredit = function (providedKey) {
  if (providedKey !== defaultAccessToken) {
    return undefined;
  }

  if (!defined(defaultTokenCredit)) {
    var defaultTokenMessage =
      '<b> \
            This application is using Cesium\'s default ion access token. Please assign <i>Cesium.Ion.defaultAccessToken</i> \
            with an access token from your ion account before making any Cesium API calls. \
            You can sign up for a free ion account at <a href="https://cesium.com">https://cesium.com</a>.</b>';

    defaultTokenCredit = new Credit(defaultTokenMessage, true);
  }

  return defaultTokenCredit;
};

令其变为:

Ion.getDefaultTokenCredit = function (providedKey) {
  return undefined;
};

即可。随后,参考我之前写的打包入门的教程,自己打包出来用就行了。

我不想自己修改源代码编译打包一次

这个时候,我建议你找到 Build/CesiumUnminified 目录,打开 Cesium.js 文件,搜索 Ion.getDefaultTokenCredit,大约跳转到 73880 行(版本不同可能略有变动),修改输出出来的总文件也可以。


enjoy!

posted @ 2020-11-16 01:10  岭南灯火  阅读(1692)  评论(2编辑  收藏  举报