这可能听起来很奇怪,但让我解释一下:
我想创建一个HTML页面,其中包含来自同一域的内容和链接,如图像等。我希望它还包括(有些可信)外部(第三方)JavaScript,如Bootstrap,jQuery等,其中我从CDN链接。
现在我想确保这些其他库在任何情况下都不会创建可点击链接(或执行XHR-Requests)到除我的原始域之外的其他资源。因此,无论用户在此页面上执行什么操作,请求都只会转到我的域,而不会转到其他地方,因此强制链接只能转发到与提供原始文件相同的源域中的目标。
你正在寻找Content-Security-Policy,它可以封锁除<a href>
之外的所有东西。
对于链接,您可以使用MutationObserver
来查看所有链接并抛出错误或删除无效链接,并且您可以覆盖window.open()
以针对无效URL引发错误。