h5页面中使用JSBridge需要注意的点

产品提了一个新需求,需要每个h5页面都具有分享功能,因为在每一个h5页面中都已经引入了一个公用的文件(该文件的主要作用就是引入一个公用的css和js库),所以,为了实现分享的功能,在该公用的文件中加入了分享功能的代码。

common.js

<link rel="stylesheet" type="text/css" href="..." />
...
<script type="text/javascript" src="..."></script>
...
<script>
	// 分享功能代码
</script>

在每个h5文件的头部引入了common.js。

在分享功能的代码中使用了location.href = 'jsbrigde:'的代码,然后发现在该文件后的js代码无法执行。

形如以下例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
</body>
<script>
    location.href = "jsbridge:";
</script>
<script>
	console.log(1);
</script>
</html>

运行代码后,在控制台中无法输出1。
经过不断的尝试,发现有两种方法可以正常输出1:
第一种,将两个代码片段放到一个script下,如:

<script>
	location.href = "jsbridge:";
	console.log(1);
</script>

第二种,将location.href = "jsbridge:";放到文件的最后,如:

<script>
	console.log(1);
</script>
<script>
	location.href = "jsbridge:";
</script>

不了解JSBridge,所以对于出现这种问题的原因还不知道。
在使用的时候需要注意。

猜你喜欢

转载自blog.csdn.net/csm0912/article/details/83022843