日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)百度小程序教程:web-view網(wǎng)頁容器
  • web-view 網(wǎng)頁容器
    • 屬性說明
      • 使用 web-view 打開限定域名內(nèi)的網(wǎng)頁
    • 示例
      • 代碼示例
    • 相關(guān)接口介紹
      • Web 態(tài)說明
      • 相關(guān)接口 1
      • 相關(guān)接口 2
      • 相關(guān)接口 3
    • Bug & Tip
    • 常見問題
      • Q:如何在 web-view 中使用撥打電話的功能或接口?
      • Q:在 web-view 中使用了 cookie ,導(dǎo)致存儲信息與小程序不能共享的原因是什么?
      • Q:小程序使用 web-view ,分享時 path 字段指定的鏈接能直接是 web-view 對應(yīng)的 url 而不是小程序的 path 嗎?

    web-view 網(wǎng)頁容器

    解釋:web-view 組件是一個可以用來承載網(wǎng)頁的容器,會自動鋪滿整個智能小程序頁面。navigationStyle: custom 對 web-view 組件無效

    讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:申請域名、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、秀英網(wǎng)站維護、網(wǎng)站推廣。

    屬性說明

    屬性名 類型 默認值 必填 說明 最低版本
    srcStringweb-view 指向網(wǎng)頁的鏈接-
    bindmessageEventHandler網(wǎng)頁向小程序 postMessage 時,會在特定時機(小程序后退、組件銷毀、分享)觸發(fā)并收到消息。e.detail = { data }1.12.0
    低版本請做兼容性處理

    使用 web-view 打開限定域名內(nèi)的網(wǎng)頁

    訪問智能小程序管理中心,進入對應(yīng)的小程序管理后臺,點擊“設(shè)置 -> 開發(fā)設(shè)置 -> 業(yè)務(wù)域名”,即可在業(yè)務(wù)域名中下載、配置校驗文件并配置業(yè)務(wù)域名。

    如何在根目錄下放置校驗文件?

    舉例:小程序 appid = 123456

    1. 配置域名為:https://a.baidu.com 則需要把校驗文件放置到 a.baidu.com 域名下,最后的鏈接地址為:https://a.baidu.com/bd\_mapp\_domaincer\_123456.txt

    2. 配置域名為:https://baidu.com 則需要把校驗文件放置到 baidu.com 域名下,最后的鏈接地址為:https://baidu.com/bd\_mapp\_domaincer\_123456.txt

    3. 配置域名為:https://xx.bb.baidu.com 則需要把校驗文件放置到 xx.bb.baidu.com 域名下,最后的鏈接地址為:https://xx.bb.baidu.com/bd\_mapp\_domaincer\_123456.txt

    正確配置的情況下,這個txt文件應(yīng)該是能夠通過這些地址(如:https://a.baidu.com/bd\_mapp\_domaincer\_123456.txt)訪問到的。配置后,頁面打開的效果:

    注意事項

    • 所有在 H5 頁面(包括通過該頁打開的其他 H5 頁)出現(xiàn)的請求域名都需要進行上方的配置,含靜態(tài)文件(js、css、圖片等)
    • 當在開發(fā)者工具-項目信息-本地配置里不勾選校驗域名時,可以在開發(fā)環(huán)境中臨時關(guān)閉對域名的校驗,但這個設(shè)置并不對線上小程序生效,即如果小程序發(fā)布上線前,沒有在智能小程序管理中心進行上方的配置,那線上訪問這些頁面時將依然出現(xiàn)異常,提示出錯

    示例

    在開發(fā)者工具中打開

    在開發(fā)者工具中打開

    在 WEB IDE 中打開

    掃碼體驗

    代碼示例

    請使用百度APP掃碼

    代碼示例

    跳轉(zhuǎn)頁面

    • SWAN
    • JS
     
     
     
     
     
     
    1. Page({
    2. // onLoad 時接收 H5 頁傳過來的參數(shù),可寫在承載 web-view 的小程序頁,也可以寫在非 web-view 頁,此處為非 web-view 頁示例
    3. onLoad(options) {
    4. if (options.key) {
    5. swan.showToast({
    6. title: `接受到來自H5頁的參數(shù)為:${options.key}`,
    7. icon: 'none'
    8. });
    9. console.log('接受到來自H5頁的參數(shù)為', options); // {key: 'fromWebview'}
    10. }
    11. },
    12. toWebView() {
    13. // 進入 H5 頁
    14. swan.navigateTo({
    15. url: '/index/index'
    16. })
    17. }
    18. });

    web-view 頁面

    • SWAN
    • JS
     
     
     
     
     
     
    1. Page({
    2. data: {
    3. src: `https://smartprogram.baidu.com/docs/html/web-view/web-view.html?${encodeURIComponent('中文參數(shù)=value')}`
    4. },
    5. // onLoad 時接收H5頁傳過來的參數(shù),刷新本 H5 頁的時候,也可以接收
    6. onLoad(options) {
    7. // 這里Key為示例,可更換為其他
    8. if (options.key) {
    9. swan.showToast({
    10. title: `接受到來自H5頁的參數(shù)為:${options.key}`,
    11. icon: 'none'
    12. });
    13. // {key: 'fromWebview'}
    14. console.log('接受到來自H5頁的參數(shù)為', options);
    15. }
    16. // 分享出去的收口機制,相當于刷新
    17. if (options.path) {
    18. swan.showToast({
    19. title: `小程序分享回流后打開的H5頁為:${options.path}`,
    20. icon: 'none'
    21. });
    22. this.setData('src', options.path);
    23. }
    24. },
    25. // web-view 通過 swan.webView.postMessage 向小程序發(fā)送消息,小程序通過 bindmessage 事件來監(jiān)聽網(wǎng)頁向小程序發(fā)送的消息,接收時機:小程序后退、組件銷毀、分享時
    26. postMessage(options) {
    27. swan.showToast({
    28. title: '接收到了H5發(fā)送的message,詳細信息請到控制臺查看',
    29. icon: 'none'
    30. })
    31. console.log('H5頁傳過來的參數(shù)為:', options);
    32. // options 為
    33. // {
    34. // currentTarget: {
    35. // id: '_5302',
    36. // offsetLeft: 0,
    37. // offsetTop: 0,
    38. // dataset: {}
    39. // },
    40. // detail: {
    41. // data:["foo"]
    42. // },
    43. // 'target': {
    44. // id: '_5302',
    45. // offsetLeft: 0,
    46. // offsetTop: 0,
    47. // dataset: {}
    48. // },
    49. // timeStamp: 8,
    50. // type: "message",
    51. // }
    52. },
    53. onShareAppMessage(options) {
    54. // 獲取當前的URL, 真機可以,工具暫不能返回此字段
    55. console.log('H5頁的url', options.webViewUrl);
    56. return {
    57. title: '智能小程序官方示例',
    58. content: '世界很復(fù)雜,百度更懂你——小程序簡介或詳細描述',
    59. imageUrl: 'https://b.bdstatic.com/miniapp/images/bgt_icon.png',
    60. // 此處寫小程序頁面path
    61. path: `/index/index?path=${options.webViewUrl}`,
    62. success(res) {
    63. // 分享成功
    64. },
    65. fail(err) {
    66. // 分享失敗
    67. }
    68. };
    69. }
    70. });

    H5 頁面

    • SWAN
     
     
     
    1. web-view
    2. 相關(guān)接口1

    3. onLoad接收參數(shù)

    4. 小程序接收web-view傳過來的參數(shù)

    5. 相關(guān)接口2

    6. 相關(guān)接口3

    7. 功能1:H5頁面之間跳轉(zhuǎn)有返回按鈕

  • 相關(guān)接口介紹

    Web 態(tài)說明

    JSSDK 2.0.21 以上版本支持 Web 態(tài)環(huán)境。

    相關(guān)接口 1

    web-view 網(wǎng)頁中可使用 JSSDK 提供的接口返回智能小程序頁面。 支持的接口有:

    舊版本 swan.xxxx,已更新為 swan.webView.xxxx。

    接口名 說明
    swan.webView.navigateTo參數(shù)與智能小程序接口一致
    swan.webView.navigateBack參數(shù)與智能小程序接口一致
    swan.webView.switchTab參數(shù)與智能小程序接口一致
    swan.webView.reLaunch參數(shù)與智能小程序接口一致
    swan.webView.redirectTo參數(shù)與智能小程序接口一致
    swan.webView.getEnv獲取當前環(huán)境
    swan.webView.postMessage向小程序發(fā)送消息

    代碼示例

    • SWAN
    • JS
     
     
     
     
     
     
    1. // javascript
    2. swan.webView.navigateTo({url: '/pages/detail/index'});
    3. swan.webView.postMessage({data: 'foo'});
    4. swan.webView.postMessage({data: {foo: 'bar'} });
    5. // 如何判斷 H5 頁面是否在小程序 web-view 打開:
    6. // 方法1:
    7. swan.webView.getEnv(function(res) {console.log(res.smartprogram);}); // true
    8. // isWebView 若為 true,則是在小程序的 web-view 中打開
    9. // 方法2:
    10. const isWebView = /swan\//.test(window.navigator.userAgent) || /^webswan-/.test(window.name);

    相關(guān)接口 2

    web-view 網(wǎng)頁中支持的接口有:

    接口模塊 接口說明 具體接口 備注
    設(shè)備撥打電話swan.makePhoneCall
    設(shè)備設(shè)置剪貼板swan.setClipboardData
    設(shè)備獲取網(wǎng)絡(luò)類型swan.getNetworkType
    位置使用內(nèi)置地圖查看位置swan.openLocation
    位置獲取地理位置swan.getLocation
    媒體拍照或上傳swan.chooseImage
    媒體預(yù)覽圖片swan.previewImage
    用戶接口分享swan.openShare需傳入當前要分享的小程序的 appKey
    用戶接口打開小程序swan.navigateToSmartProgram2.0.18 版本開始,支持使用 envVersion 打開不同版本的小程序
    開放接口登錄swan.login

    相關(guān)接口 3

    用戶分享時可獲取當前 web-view 的 URL,即在 onShareAppMessage 回調(diào)中返回 webViewUrl 參數(shù),參見上方代碼示例。

    Bug & Tip

    • Tip:網(wǎng)頁內(nèi) iframe 的域名也需要配置到域名白名單。
    • Tip:每個頁面只能有一個web-view,web-view會自動鋪滿整個頁面,并覆蓋其他組件。
    • Tip:網(wǎng)頁與智能小程序之間不支持除 JSSDK 提供的接口之外的通信,如果使用了 JSSDK 提供的接口,需要引入swanjs,參見上方相關(guān)接口 1 - 代碼示例 。
    • Tip:避免給web-view組件設(shè)置的網(wǎng)頁鏈接中帶有中文字符,在 iOS 中會有打開白屏的問題,建議做一下 encodeURIComponent ,參見上方代碼示例。

    常見問題

    Q:如何在 web-view 中使用撥打電話的功能或接口?

    A:如果想在 web-view 使用 JSSDK 提供的接口能力,需要引入 swanjs 包,請參考代碼示例 - H5 頁面。

    “2.0.21.js”版本為舉例,開發(fā)時請參考相關(guān)接口 1 - 代碼示例中的最新版本號進行填寫。

    生成的 H5 站點地址放入小程序 web-view 的 src 即可。

    Q:在 web-view 中使用了 cookie ,導(dǎo)致存儲信息與小程序不能共享的原因是什么?

    A:web-view 網(wǎng)頁與小程序之間不支持除 JSSDK 提供的接口之外的通信:

    1. 小程序中如需設(shè)置 cookie 建議使用 Storage 。
    2. 如需傳遞小程序參數(shù)到 web-view 組件的 H5 頁面中, 可加在 web-view 的 src 后。

    Q:小程序使用 web-view ,分享時 path 字段指定的鏈接能直接是 web-view 對應(yīng)的 url 而不是小程序的 path 嗎?

    A:不能,使用 onShareAppMessage 或者 swan.openShare 進行分享時,path只能設(shè)置為小程序頁面的 path ,不能設(shè)置為 H5 頁面的 url ,若想回到對應(yīng)的 H5 頁,參見上方代碼示例 - 跳轉(zhuǎn)頁面。


    當前標題:創(chuàng)新互聯(lián)百度小程序教程:web-view網(wǎng)頁容器
    瀏覽地址:http://www.5511xx.com/article/ccsegic.html