我的一个思路是,( 不是前端开发,对浏览器这些不熟悉,想法比较粗浅
)
替换 HTMLScriptElement src 的 setter 方法,
调用的时候,我自己调用我们 app 内部提供的 Js2NativeBridge 方法,
下载 js 文件,然后运行一下 eval(jsContent)
这样做一些定制化,例如可以做到根据 url 缓存,第二次加载就使用磁盘文件。
甚至,可以偷梁换柱,把 a.js, 我换成 a.modified.js 。(原始 js 文件太大,功能太多,裁剪一些无用的)
可是,这样 eval 一个 js 和 原始的 createElement 后 append 加载的是完全等效的吗。 会不会有什么我不知道的隐患?比如作用域之类的啥的。 进一步的,能让网页感知不到 a.js 被篡改了吗?
目前我试了,粗略用了下,显示和交互大致没问题。
但是还是没谱,机型太多了,果然恐惧源于未知😂
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.