1. 程式人生 > >html5之間跳轉頁面傳參,獲取資料以及跳轉後就執行頁面的js程式碼

html5之間跳轉頁面傳參,獲取資料以及跳轉後就執行頁面的js程式碼

本次解決的內容如標題:html5之間跳轉頁面傳資料以及跳轉後就執行頁面的js程式碼

舉個我的栗子:就是點選視訊圖片描述後,跳轉到播放該視訊的h5,因為跳轉後視訊播放頁面video標籤需要播放地址,一個視訊的話可以寫死地址,多個視訊的話,就要想寫幾十個h5...想想就難受,所以就需要兩個網頁之間有資料交流,第一個頁面有多個視訊的各自的描述以及圖片組合的超連結(a標籤),點選就會跳轉到播放頁面,然後播放。

我的思路就是點選連線的時候,把地址資訊傳過去,然後播放頁面動態獲取地址,用js,或者jquery動態新增到video標籤中。就不用寫那麼多網頁。這裡主要解決三個問題:1.兩個網頁之間的傳參  2.怎麼獲取另一個網頁傳來的資料  3.獲取地址後新增到video標籤的src屬性中,就能用video的controls就能控制播放,音量,暫停....

下面就是解決的過程:感謝以下博主提供內容參考:

憤怒的火柴:https://blog.csdn.net/caoyuan10036/article/details/7227214(在靜態頁面html中跳轉傳值)

部落格之家:https://www.jb51.net/article/54902.htm (頁面載入完後自動執行一個方法的js程式碼)

一:首先跳轉頁面傳引數

第一個頁面是2張圖片和文字組合出來的連線,以下是h5程式碼和效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
<!--<h1 style="text-align:center;color:blue">優質視訊推薦</h1>-->
<!--<div class="videobox" style="text-align:center">-->

    <a href="index.html?media/逍遙嘆.mp4">
        <img src="media/4.png" alt="">
        <p>逍遙嘆</p>
    </a>
    <a href="index.html?media/我還是很喜歡你.mp4">
        <img src="media/1.png" alt="">
        <p>我還是很喜歡你</p>
    </a>
<!--<video src="media/逍遙嘆.mp4" controls></video>-->

</div>
</body>
</html>

在連線a標籤中index.html是播放頁面,?後面是視訊的地址,就是傳到跳轉頁面的資料,當點選圖片或者文字就會跳轉到播放頁面。如下:

二:獲取url中傳過來的資料:由於一些博主寫的太詳細,程式碼太長,尤其抓取資訊的Jquery,就自己寫了6行的jquey實現功能(用到window.loaction.searc會抓取傳過來的url的資料,當然也包括?,所以需要重新提取地址,把?去掉就可以,提取方式多樣)。

jsvascript:用來抓取url傳過來的資料

<script>
	function f() {
	    var locfile="";
	    var info=window.location.search;
		for(var i=1;i<info.length;i++)
	    locfile+=info[i];
		$("video")[0].src=locfile;
    }
	</script>

播放頁面的html5:很多樣式程式碼不用管,這裡只需要video標籤和jquery的檔案就行

<!DOCTYPE html>
<html lang="zh">
<head>
	<meta charset="UTF-8">
	<title></title>
	<link rel="stylesheet" type="text/css" href="css/normalize.css" />
	<link rel="stylesheet" href="dist/css/ckin.css">
	<link rel="stylesheet" href="css/demo.css">
	<script src="jquery-3.3.1.min.js"></script>
	<script>
	function f() {
	    var locfile="";
	    var info=window.location.search;
		for(var i=1;i<info.length;i++)
	    locfile+=info[i];
		$("video")[0].src=locfile;
    }
	</script>
</head>
<body onload="f()">

	<div class="container">
		<h2 class="title heading">愛已走到盡頭,知己難逢幾人留</h2>
		<video poster="" src="" data-ckin="default" data-overlay="1"></video>
	</div>


</body>
<script src="dist/js/ckin.js"></script>
</html>

三:頁面載入完後自動執行一個方法的js程式碼

跳轉後就要自動載入地址,形成video能夠播放的視屏,第二步那裡放的h5就是最後的成果。但是沒說原因。

提取後地址就要自動新增到video中src中,需要js自動自行,平常寫的都是事件觸發才執行js,怎麼自動執行?

答案就是:

在body中用onload:<body onload="myfunction()">

就是上面第二個h5裡面的程式碼,就能實現所需要的功能要求。