我使用的HTML/PHP和JavaScript的組合來打開啓動一個Flash應用程序一個新的瀏覽器窗口。這工作正常,但現在大多數用戶不期望窗口彈出窗口,並經常忘記允許彈出窗口。所以我認爲一個好的解決方案可能是使用Jquery的對話框:http://jqueryui.com/demos/dialog/#default。jQuery的對話框轉換
我在這裏尋找一些指導,因爲這Flash應用程序需要很多東西傳遞給它如何與jQuery對話實現這一點。因此圍繞這樣做的一輪。
我首先創建HTML中的按鈕有一堆東西掏出DB的:
function startmonitor(to, camerahash, cameraname, cameraflashquality)
{
var myForm = document.createElement("form");
myForm.method = "post";
myForm.action = to;
var myInput = document.createElement("input");
myInput.name="video";
myInput.value="Monitor";
myForm.appendChild(myInput);
myInput = document.createElement("input");
myInput.name="camera_hash";
myInput.value=camerahash;
myForm.appendChild(myInput);
myInput = document.createElement("input");
myInput.name="camera_name";
myInput.value=cameraname;
myForm.appendChild(myInput);
myInput = document.createElement("input");
myInput.name="camera_quality_flash";
myInput.value=cameraflashquality;
myForm.appendChild(myInput);
document.body.appendChild(myForm);
myForm.submit();
document.body.removeChild(myForm);
}
:
<button id="monitor" onClick='startmonitor("<?php echo htmlentities($_SERVER['REQUEST_URI']); ?>","<?php echo $result_cameras[$i]["camera_hash"]; ?>","<?php echo $result_cameras[$i]["camera_name"]; ?>","<?php echo $camera_quality_flash; ?>")'>Monitor</button>
然後我在從按鈕傳遞的參數的JavaScript創建表單
最後,在PHP中進一步處理這一點,並調用JavaScript推出的Flash應用程序:
if (isset($_POST['video'])) {
//get user hash for monitor app
$query_user_hash = "SELECT id_hash FROM #__users WHERE user_id=".$user->id;
$db->setQuery($query_user_hash);
$id_hash = $db->loadResult();
$camera_hash = check_input($_POST['camera_hash']);
$camera_name = check_input($_POST['camera_name']);
$camera_quality_flash = check_input($_POST['camera_quality_flash']);
echo '<script type="text/javascript">
window.open("flashapp/app.php?user='.$id_hash.'&camera='.$camera_hash.'&name='.$camera_name.'&quality='.$camera_quality_flash.'", "Flash_monitor", "location=0,menubar=0,status=0,scrollbars=0,width=360,height=405")
</script>';
}
無甚至不知道從哪裏開始。我是否嘗試使用jQuery對話框在哪裏做window.open
?在這種情況下,我不確定我如何傳遞相同的參數?還是有更好的方法來解決這個問題。
您的權利,我只需要用戶id_hash,這是很容易得到。不知道爲什麼我走這條路。這看起來非常優雅。但由於引用(您可以在監視器按鈕中看到)而失敗。你確定這種報價方式嗎?我從來沒有見過這種方式。我會繼續玩這個。 – Tom 2012-01-08 02:02:15
嘗試上面編輯的代碼 – 2012-01-08 03:21:33
上面的代碼應該工作。 @NateBolam:幾個建議:第2個''