有没有办法动态编辑WebView中显示的内容?
Is there a way to dynamically edit content displayed in WebView?
我有一个加载了互联网网站的 webview,我想做的是动态编辑内容,例如更改代码
<button>Search</button>
到
<button>View</button>
到目前为止,我所做的是允许用户加载网站,然后我会使用 html,更改我想要的内容并将其加载到 webview 中。
内容变化很好,但没有显示图像(我猜这是因为我没有图像等本地资源)。
有没有办法在保留所有图像、结构等的同时动态更改在线网站的内容?
提前致谢
如果我没理解错的话,您是从网站加载页面,更改内容,然后将修改后的页面发送到网络视图。
那么问题是 "base URL" 是您本地修改的页面,而不是原始网站,因此任何相关 URLs(没有域名)将以此为基础, 当然失败了。
一个选项是添加:
<base href="(original URL of the page goes here)"/>
转到您页面的 <head>
。
这将解决加载图像、CSS、脚本等方面的问题
但是,您会遇到任何受 cross-origin 保护(例如 Ajax)影响的问题。
或者,您可以从原始页面 URL 加载页面,然后使用本地 Javascript 修改页面内容。
我有一个加载了互联网网站的 webview,我想做的是动态编辑内容,例如更改代码
<button>Search</button>
到
<button>View</button>
到目前为止,我所做的是允许用户加载网站,然后我会使用 html,更改我想要的内容并将其加载到 webview 中。 内容变化很好,但没有显示图像(我猜这是因为我没有图像等本地资源)。 有没有办法在保留所有图像、结构等的同时动态更改在线网站的内容? 提前致谢
如果我没理解错的话,您是从网站加载页面,更改内容,然后将修改后的页面发送到网络视图。
那么问题是 "base URL" 是您本地修改的页面,而不是原始网站,因此任何相关 URLs(没有域名)将以此为基础, 当然失败了。
一个选项是添加:
<base href="(original URL of the page goes here)"/>
转到您页面的 <head>
。
这将解决加载图像、CSS、脚本等方面的问题
但是,您会遇到任何受 cross-origin 保护(例如 Ajax)影响的问题。
或者,您可以从原始页面 URL 加载页面,然后使用本地 Javascript 修改页面内容。