1. 程式人生 > >js中變數在不同的頁面中操作

js中變數在不同的頁面中操作

<script language="JavaScript" type="text/javascript">
<!--
function hello(){
      alert("hello,ajax!");
}
window.hello();
//-->
</script>
如果運行了這段程式碼,會彈出“hello,ajax!”的視窗,這正是執行hello()函式的結果。那為什麼hello()變成了window物件的方法呢?因為在一個頁面內定義的所有全域性變數和全域性函式都是作為window物件的成員。例如:
var a=1;
alert(window.a);
就會彈出對話方塊顯示為1。同樣的原理,在不同框架之間共享變數和函式,就是要通過window物件來呼叫。
例如:一個商品瀏覽頁面由兩個子框架組成,左側表示商品分類的連結;當用戶單擊分類連結時,右側顯示相應的商品列表;使用者可以單擊商品旁的【購買】連結將商品加入購物車。
在這個例子中,可以利用左側導航頁面來儲存使用者希望購買的商品,因為當用戶單擊導航連結時,變化的是另外一個頁面,即商品展示頁面,而導航頁面本身是不變的,因此其中的JavaScript變數不會丟失,可以用來儲存全域性資料。其實現原理如下:
假設左側頁面為link.html,右側頁面為show.html,頁面結構如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
</head>

相關推薦

JS小技巧 前臺JS程式碼獲得後臺頁面變數的值

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//

HTML不同頁面重用代碼

javascript需求 幾個頁面需要的頭部和底部的內容往往是一樣的,這就希望可以只寫一段代碼作為模板,然後再幾個頁面中都加載這這個模板。另外,如果需要修改,也只要修改模板就好,所有頁面都同時都是新的樣式了。 通過 JavaScript 來實現 能實現上面需求的方法還是不少的,這個比較簡單一點,幾乎不需要學習

前端---js在製作頁面比較常用的幾個css屬性

今天在這裡給大家總結幾個我在製作一個頁面時所用到的一些不太常用的屬性,但有時候使用這些屬效能增加頁面的可觀性以及減少其他複雜的操作使用. z-index屬性 z-index 屬性設定元素的堆疊順序。擁有更高堆疊順序的元素總是會處於堆疊順序較低的元素的前面。 該屬性設定一個定位元素沿

js變數和jspjava程式碼變數互相訪問解決方案

1。js變數獲取jsp頁面中java程式碼的變數值。  方法:var JS變數名 = <%=JAVA變數名 %>    我們常常會將js檔案和jsp檔案分開寫,在js檔案中,上面的方法似乎不管用了。 也可以通過變通的方法來解決: a.jsp <

js實現一個長頁面的圖片懶載入即滾動到其位置才載入

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> <style>

在servlet獲取jsp頁面選中的複選框的值,並對其值進行操作

jsp部分程式碼:<input type="checkbox" name="checkboxs" value="${stuInfo.sid}"/>動態的為複選框賦值servlet程式碼:String[] ids = request.getParameterValu

JS 實現變數在字串的多層拼接與巢狀

若有需求字串如下 '<a onclick="editCsRole(roleId)" class="openNewTab">編輯</a>';其中 roleId 是變數,為實現資料的有效傳遞對 roleId 巢狀拼接如下,var param="'"+ro

h5通過js 獲取上一級頁面的引數問題

1.上一級頁面跳轉 :   window.location.href= encodeURI("product1-show.html?name=znyj");(1).product1-show.html 頁面,(2).name=znyj 拼接引數。2.下級頁面js 接收。   

js常用刷新頁面操作

自動刷新 meta his http navi cati 自動 href 一次 一、手動刷新 1,history.go(0) 2,location.reload() 3,location=location 4,location.assign(location) 5,doc

如何在sql查詢引用提示頁面的複選框引數

新做了一張報表,由於模型裡面沒有,所以必須用sql寫,在這裡碰到一個瓶頸: sql裡面要引用到提示頁面的一個引數,這個引數是複選框引數: 查詢裡面的sql是這樣寫的: 其中畫橫線的部分#prompt(‘year’,‘CHAR(4)’)#是年引數,在提示頁面中是單選值提示

巢狀路由,子頁面看見父頁面元素的解決辦法

之前父子路由的頁面巢狀都是照套路走的,像下面這樣: 一個巢狀路由 跳轉傳值的套路如下: 但是,出問題了! 父頁面比子頁面長,一旦滾動,子頁面擋都擋不住呀!大概就像下面這樣: 這種情況當然是自己作的,解決辦法很簡單。 把父子頁面的總高度都設定為一個螢幕並不能滾動

JSP:修改Eclipse Java EE IDE建立jsp頁面編碼方式

其實很簡單 依次點選:Window---->Preference---->Web---->JSP Files,修改Encoding為ISO 10646/Unicode(UTF-8)即可。(英文) 依次點選:視窗---->首選項---->Web---->JS

自動化生成專案的html頁面()

1.如果我們需要在html-webpack-plugin外掛中傳引數,在模板中根目錄下的index.html模板中引用怎麼辦?我們可以在webpack.config.js檔案中寫入這麼一行程式碼:title:'webpack is good' webpac

彈出視窗重新整理父頁面的iframe包含的頁面

<iframe src="1.htm" name="ifrmname" id="ifrmid"></iframe> 方案一:用iframe的name屬性定位     <input type="button" name="Button" value="Button" oncl

matlab關於不同的同名函式的呼叫問題

問題描述: 例如兩個工具包package A和B的路徑都加到了search path中,A的路徑在B的前面,且兩個包中都有名稱為func的函式。在其他地方呼叫func的時候,由於A的路徑排在前面,故執行的是包A中的func。那如果我想執行包B中的函式,該怎麼辦呢? 解決方

js變數不同頁面操作

<script language="JavaScript" type="text/javascript"><!--function hello(){      alert("hello,ajax!");}window.hello();//--></script>如果運行了這

測試引入的js檔案,和直接在頁面寫的js程式碼執行的順序,順便還有個疑問(即JavaScript變數宣告有var和沒var的區別)

測試引入的js檔案,和直接在頁面中寫的js程式碼執行的順序,順便還有個疑問(即JavaScript中變數宣告有var和沒var的區別),有時間再倒回來理解這個問題 <!DOCTYPE html> <html> <head> <meta charset

EasyUI的Model的Model Window,但是遇到一個問題,就是如何把jsp頁面js變數傳入模態框input的value

用了很多辦法, 最開始嘗試用最基本的JQuery的賦值方法給value賦值,但是發現由於賦值的時候模態框還沒開啟,找不到模態框中引數的id 第二種是用隱藏域還是不行,傳值為null 後來檢視EasyUI官網的window外掛,發現了window的時間跟Pa

JS禁止頁面的一些操作事件

禁止滑鼠右鍵:oncontextmenu="return false"; 禁止選擇:onselectstart="return false"; 禁止拖放:ondragstart="return false"; 禁止拷貝:oncopy=document.selection.empty() 。 禁止複製:onco

一個jsp中用esayui dialog 彈出另一個jsp,並操作另一個jspjs變數和方法

直接上程式碼: var title=tag.replace(/<span.*?>/,"").replace(/<\/span>/,""); $('body').append("<div id='standardDialog'>