Con*_*use 6 java html5 android webview quirks-mode
我有一个包含WebView的应用程序.如果<!DOCTYPE html>
未在HTML页面中定义,则会产生意外错误,因为我运行的片段仅与HTML5兼容.
因此<!DOCTYPE html>
,我不是每次都写,而是简单地设置默认的怪癖(quirk是一个默认的HTML声明,如果没有指定页面的HTML版本,将使用它).
因此,如果未指定页面的HTML声明,它将自动在HTML5中呈现.
关于如何做到这一点的任何想法?主流浏览器使用此技术(包括Android版Chrome).
编辑
使用直接嵌入式SVG 等我有500多个这样的片段-
<svg width="300" height="200">
<polygon points="100,10 40,198 190,78 10,78 160,198"
style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;" />
</svg>
Run Code Online (Sandbox Code Playgroud)
这些代码段在其他版本的HTML上运行不佳.我实际上并没有<!DOCTYPE html>
在每个页面上写任何问题,但我担心我的客户可以查看,编辑和修改我的代码段,甚至创建一个新的代码段.
我把我的应用程序交给了我的朋友进行测试,他们中的许多人抱怨他们创建的代码片段运行不正常,我认为我的客户也会发生同样的事情.
请帮忙
编辑: Android 版 Chrome 不使用 WebView [来源]:
这是否意味着 Android 版 Chrome 正在使用 WebView?
不,Android 版 Chrome 与 WebView 是分开的。它们都基于相同的代码,包括通用的 JavaScript 引擎和渲染引擎。
因此他们在正常的 WebView 行为之上添加了此功能。你想要完成的事情是不可能的。
我认为唯一可能的方法(根据我的搜索)是覆盖行为WebView
并执行类似的操作:
HttpClient
获取页面内容WebView.loadDataWithBaseURL
渲染 中的 HTMLWebView
并指定在步骤 1 中捕获的基本 url显然,这是非常hacky的,我无法确认它是否有效。所以到目前为止最好的解决方案是在每个页面上指定一个<!DOCTYPE>标记。如果这需要在加载/允许客户端创建片段之前验证片段,那就这样吧。
归档时间: |
|
查看次数: |
435 次 |
最近记录: |