client 跨視窗傳遞JSON資料
再將資料傳回父視窗。
原來網頁程式也可以有這樣的作法。
直接使用jQuery找到父視窗的物件將資料指定回去也可以,
下面的範例使用的是傳遞JSON字串回父視窗再解析資料。
- A網頁(父視窗)
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
function show()
{
var encoded = $('#jsonstring').val();
var obj = $.parseJSON(encoded);
$('#email').val(obj.email);
$('#password').val(obj.password);
}
</script>
</head>
<body>
<form name="form">
<input type="text" id="email" name="email"/>
<input type="text" id="password" name="password"/>
<input type="hidden" id="jsonstring" name="jsonstring" /><br />
<a href="b.html" target="_blank">b.html</a>
</form>
</body>
</html>
- B網頁(子視窗)
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
function dosubmit(){
var email = $('#email').val();
var password = $('#password').val();
var thing = {email: email, password: password};
var encoded = JSON.stringify(thing);
console.log(encoded);
window.opener.document.all.jsonstring.value = encoded;
window.opener.show();
this.close();
}
</script>
</head>
<body>
<input type="text" id="email" name="email" />
<input type="text" id="password" name="password" />
<input type="button" onclick="dosubmit()" value="確認">
</body>
</html>
沒有留言:
張貼留言