隐藏百度地图“未授权”文字标识的办法

百度地图,高德地图,腾讯地图形成了垄断联盟,对开发者不管使用量多少,一律5万/年的授权费,这对中小开发者带来了很大负担。如有不从,就直接将配额降到个位数。作为开发者,不是想白嫖,愿意为使用量按需付费,但拒绝一刀切式的规则,尤其各个厂商串通起来的垄断规则。

百度地图会通过高亮如下的未授权文字来逼迫你就范,这些红色的文字无法用普通的css样式display:none来隐藏。

经过仔细分析后,发现“未授权”文字是通过Shadow Element来实现,并通过设置成private来阻止外界对其内容的修改。百度的方案看似无懈可击,但还有一种方法来实现隐藏这些文字。那就是在百度地图渲染前,劫持attachShadow接口调用,向其注入隐藏这些文字的样式代码。代码如下:

<script>
let originShadow = Element.prototype.attachShadow;
Element.prototype.attachShadow = function (...args) {
	const shadowRoot = originShadow.call(this, ...args);
	let style = document.createElement("style");
	style.innerHTML = "div { display: none !important; }";
	shadowRoot.appendChild(style);
	return shadowRoot;
};
</script>

请试试吧,希望能帮助被这个问题困扰的你

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值