如何获取Unity中Embedded Browser Asset加载页面的HTML内容?
获取Unity Embedded Browser加载页面的HTML内容方案
用ExecuteJavaScript调用DOM API直接获取
这类插件核心靠Unity与JS的桥接实现交互,最可靠的方式是执行JS代码抓取页面HTML。比如用document.documentElement.outerHTML获取完整页面代码,或document.body.innerHTML仅获取body区域内容。示例C#代码:// 假设已有Embedded Browser实例引用,命名为targetBrowser targetBrowser.ExecuteJavaScript("document.documentElement.outerHTML", (string htmlResult) => { // 回调参数htmlResult就是获取到的HTML内容 Debug.Log(htmlResult); });务必使用带回调的重载,因为JS执行是异步操作,同步调用可能无法拿到正确的加载完成后的HTML。
检查插件自带API是否有封装方法
部分第三方Embedded Browser Asset会封装专门的页面源码获取接口,比如GetPageSource()这类方法,先查阅插件自带的文档或示例场景,确认是否有现成的同步/异步方法可以直接调用,避免自己写JS的麻烦。排查跨域或权限限制
如果加载的是外部域名页面,要确认插件是否开启了跨域JS交互权限。部分插件默认会限制跨域操作,需要在插件的设置面板中开启允许JS执行、调整跨域策略,否则会无法获取到HTML内容。
内容的提问来源于stack exchange,提问作者ShadowlessGT
相关产品推荐
相关产品推荐

