1. 程式人生 > >h5頁面中使用JSBridge需要注意的點

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,所以對於出現這種問題的原因還不知道。
在使用的時候需要注意。