当前位置:首页 > 技术分享 > 正文内容

uniapp打开外链并在webview跳转到app内部页面

admin2年前 (2022-09-09)技术分享9030

可是打开后又无法返回,想了一下之后,新建了一个页面,在页面中插入web-view,要在


<template>

    <view>

        <web-view :src="url"></web-view>

    </view>

</template>

 

<script>

    export default {

        data() {

            return {

                url: ''

            }

        },

        onLoad(e) {

             // 获取传递过来的链接

            this.url = e.url

        }

    }

</script>


pages.json里面配置这个新页面


{

"path": "pages/index/webview",

"style": {

"navigationBarTitleText": "",

"navigationBarBackgroundColor": "#FFFFFF",

"navigationBarTextStyle": "black",

"navigationStyle": "custom"

}

}

点击跳转新页面,把url通过地址栏传参过去。


navToLink(){

uni.navigateTo({

url: `/pages/index/webview?url=${this.url}`

})

}

然后就完美的打开了,并且可以无缝隙返回。


uniapp中webview跳转到app内部页面

官方文档:

https://ask.dcloud.net.cn/article/35083


第一步:在webview加载的页面引入Js

<!-- uni 的 SDK,必须引用。 -->
<script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script>

还有一个微信小程序的,如果不考虑微信小程序,则无需引入微信的 JS-SDK。


第二步:注意调用时机
在引用依赖的文件后,需要在 HTML 中监听 UniAppJSBridgeReady 事件触发后,才能安全调用 uni 的 API。

document.addEventListener('UniAppJSBridgeReady', function() {  
    uni.getEnv(function(res) {  
        console.log('当前环境:' + JSON.stringify(res));  
    });  
});

第三步:实际调用

支持调用所有的 uni 路由方法,可以实现从 HTML 重新跳转回应用内的页面。

在 UniAppJSBridgeReady 后,调用路由方法跳转到应用内的页面。

官方例子:

document.addEventListener('UniAppJSBridgeReady', function() {  
    document.querySelector('.btn-list').addEventListener('click', function(evt) {  
        var target = evt.target;  
        if (target.tagName === 'BUTTON') {  
            var action = target.getAttribute('data-action');  
            if(action === 'navigateTo') {  
                uni.navigateTo({  
                    url: '/pages/component/button/button'  
                });  
            }  
        }  
    });  
});

自己使用,需要传参:

//uniappwebview跳转到app内部页面
document.addEventListener('UniAppJSBridgeReady', function () {
    document.querySelector('.jump-uniapp').addEventListener('click', function (evt) {
        var target = evt.target;
        var articleId = target.getAttribute('articleId');
        var userName = target.getAttribute('userName');
        //if (target.tagName === 'BUTTON') {
            //var action = target.getAttribute('data-action');
            //if (action === 'navigateTo') {
                uni.navigateTo({
                    url: '/pages/details/articleDetailWebView?id=' + articleId + "&userName=" + userName
                });
            //}
        //}
    });
});

参数就用自定义属于绑定好即可,然后使用target.getAttribute('xx')这种方式获取即可。一次成功!

最精简的写法

<script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script>
<script>
document.addEventListener('UniAppJSBridgeReady', function() { 
    document.querySelector('.btn-list').addEventListener('click', function(evt) {
        uni.navigateTo({
            url: '/pages/index/index'
        });  
    });  
});
</script>
<button class="btn-list">查看详情</button>


扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/415.html

分享给朋友:

相关文章

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

家里面买了斐讯盒子T1,必不可少的就是刷机,刷机一直爽,一直刷机一直爽,这样的快乐一般人体会不到。原来斐讯盒子N1,T1,还有斐讯K2P路由器也变成了性价比超高的东东,而且众多大神也带来了超多可玩性非常高的固件和破解。楼主今天扒到了相关超高...

安装Windows 10X 教你如何安装Win10X正式版 及下载地址

安装Windows 10X 教你如何安装Win10X正式版 及下载地址

安装Windows 10X 教你如何安装Win10X正式版:Windows 10X是Windows 10操作系统的新版本,主要针对双屏电脑。由于即将运行Windows 10X的双屏电脑(例如即将面世的Surface Neo)的开发遇到挫折,...

2021可用的百度网盘高速下载方法分享

2021可用的百度网盘高速下载方法分享

最新可用方法https://blog.bitefu.net/post/163.html方法很简单就是利用网盘直链下载助手【网盘直链下载助手】是一款免费开源获取网盘文件真实下载地址的油猴脚本,基于PCSAPI,支持Windows,Mac,Li...

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~10.0)。与 Xposed 相比,目前 VirtualXposed 有...

PHP AES加解密 (ECB模式/sha1prng算法/PKCS5Padding和PKCS7Padding补码) ECB 模式不需求设置 iv

php7+ 版本/**  * [AesSecurity aes加密,支持PHP7+]  * 算法模式:ECB  * 密钥长度:128  * 补...

七牛html js上传带进度条源码

七牛html js上传带进度条源码注册链接https://s.qiniu.com/uM7RJv完整代码下载:https://n802.com/f/349707-489018989-c141f6(访问密码:5036)http://www.yi...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。