简介
<web> 用于在 WEEX 页面中显示由 src 属性指定的网页内容。
<web> 可以使 H5 与 Native 元素相结合。
* 如图1:您可以整个页面铺满 Web 页面(快速兼容您之前的 H5 页面)
* 如图2:可以使用 Web 和其他 Weex 组件合成复杂页面
* 如图3:使用 Web 组合出多种效果(设置透明背景的 H5 页面,灵活配置各类 H5 活动资讯)
1. <template>
2. <web src="https://www.taobao.com/"></web>
3. </template>
4. <script></script>
5. 6. <style></style>
warning 注意
* <web>不支持list,scroller,slider组件同向嵌套滚动模式,会导致滚动冲突;
* <web> 不支持任何嵌套的子组件;
* <web> 必须指定 width 和 height 的样式属性,否则将不起作用;
* 您可以使用 webview module来控制 <web>;
* <web> 仅作为降级的非常规场景,不建议用于正常页面。
属性
- src
[必选]
要加载的网页内容的 URL。建议指定线上真实存在的 URL 地址。
事件
支持 appear 和 disappear 事件同时支持:
* pagestart 会在 Web 页面开始加载时调用。
事件对象:
* url: {String} 当前 Web 页面的 URL。
* pagefinish 会在 Web 页面完成加载时调用。
事件对象:
* url: {String} 当前 Web 页面的 URL。
* canGoBack: {Boolean} 当前 Web 页面是否可以回退。
* canGoForward: {Boolean} 当前 Web 页面是否可以前进。
* title: {String} 当前 Web 页面的标题(仅限 iOS 平台)。
* error 会在 Web 页面加载失败时调用。
* receivedtitle 会在 Web 页面的标题发生改变时调用(仅限 Android 平台)。
1. <template>
2. <div class="wrapper">
3. <web @pagestart="onPageStart" @pagefinish="onPageFinish" @error="onError" src="https://www.taobao.com/"></web>
4. </div>
5. </template>
6. <script>
7. module.exports = {
8. methods: {
9. onPageStart: function(e) {
10. // page start load
11. },
12. onPageFinish: function(e) {
13. // page finish load
14. },
15. onError: function(e) {
16. // page load error
17. }
18. }
19. }
20. </script>
21. 22. <style></style>
Vue 示例
- 体验示例
上述示例监听了 pagestart、pagefinish 及 error 事件,同时使用了 webview module 提供的 API。
Rax 示例
rax-embed 是 <web> 组件的上层封装,抹平了 Web 和 Weex 的展现
1. import { createElement, render, Component } from 'rax';
2. import Driver from 'driver-universal';
3. import Embed from 'rax-embed';
4. 5. function App() {
6. const urlParam = {
7. paramOne:123,
8. paramTwo:456
9. };
10. return <Embed urlParam={urlParam} src={'http://taobao.com'}
11. useIframeInWeb={true} style={{ height: 750, width: 750 }} />
12. }
13. 14. render(
rax-embed 文档
