/ * ** * ** * **** test1.php * ** * ** * *** /問題を理解するための簡単な例を作成します。以下は、test1.phpファイルの内容です。
<html><head></head><body>
<script language="javascript" type="text/javascript">
var xhrHttp;
function getXHRObject() {
var obj = false;
try {
obj = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
obj = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
try {
obj = new XMLHttpRequest();
}
catch (e) {
return false;
}
}
}
return obj;
}
function unloadFCT() {
xhrHttp = getXHRObject();
xhrHttp.open("GET", "ajaxCall.php", false);
}
var val = navigator.userAgent.toLowerCase();
if(val.indexOf("msie") > -1){
window.attachEvent('onbeforeunload', unloadFCT);
}
else{
window.onunload = unloadFCT;
}
このウィンドウを閉じると、ajaxCall.phpと同じ場所に新しいファイルが作成されます
/ * ** * ** * **** ajaxCall.php * ** * ** * *** /
<?php
$handle = fopen("myFile_".time().".txt", 'a+');
fwrite($handle, "simple message...");
?>
/ * ** * ** * **** test2.php * ** * /
<html><head></head><body>
<script language="javascript" type="text/javascript">
var xhrHttp;
function f(){
unloadFCT();
window.close();
}
function getXHRObject() {
var obj = false;
try {
obj = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
obj = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
try {
obj = new XMLHttpRequest();
}
catch (e) {
return false;
}
}
}
return obj;
}
function unloadFCT() {
xhrHttp = getXHRObject();
xhrHttp.open("GET", "ajaxCall.php", false);
}
var val = navigator.userAgent.toLowerCase();
if(val.indexOf("msie") > -1){
window.attachEvent('onbeforeunload', unloadFCT);
}
else{
window.onunload = unloadFCT;
}
undoFCT()関数のコードを実行し、このウィンドウを閉じます!!!
/ * ** * ** * ** ****問題**** ** * ** * * / _ _ _ _
test2.phpの何が問題になっているのか教えていただけますか?f()関数でunloadFCT()のコードを実行し、現在のウィンドウを閉じます。