4 回答

TA貢獻1816條經驗 獲得超4個贊
您可以將事件偵聽器函數訂閱到 window.onfocus 事件。嘗試以下操作:
document.addEventListener("DOMContentLoaded", function (event) {
? ? window.onfocus = function () {
? ? ? ? $("#div1").load("button.php");?
? ? }
});
我強烈建議您進一步閱讀 javascript 事件。
對于純 JavaScript: https:
//www.w3schools.com/js/js_events.asp
對于 jQuery: https:
//api.jquery.com/category/events/

TA貢獻1856條經驗 獲得超5個贊
$(document).ready 事件僅在 DOM 加載后運行一次。因此,除非重新加載頁面,否則該事件不會觸發。
如果用戶在另一個瀏覽器選項卡中購買訂閱,然后返回到原始選項卡,則會觸發 windows.onfocus 事件。
因此,您可以使用 window.onfocus 事件在每次 view.php 選項卡變為活動狀態時檢查訂閱,然后在必要時顯示按鈕。所以你可以在 view.php 中使用類似下面的內容
$(document).ready(function(){
window.onfocus = function () {
$("#div1").load("button.php");
}
});

TA貢獻1847條經驗 獲得超11個贊
嘿,你必須使用 Window setInterval() 方法,該方法的作用是它會按照你設置的時間間隔在后臺觸發。
您可以調用 ajax 代碼來設置/顯示您的按鈕
setInterval(function(){ $("#div1").load("button.php"); }, 3000);
確保添加此按鈕后將 return false ,這樣它就不會一次又一次地執行,不會增加網頁上的負載。

TA貢獻1876條經驗 獲得超7個贊
將 iframe 添加到 view.php 中,不需要包含任何內容也不需要可見。
<iframe name="download" id="if_download" src="blank.html"></iframe>
將下載操作定位到 iframe。加上一些JS:
function download(href) {
window.frames['download'].location = 'download.php?file=' + href;
return false;
}
您可能需要通過 php 文件包裝下載操作以修改其標頭
下載.php:
$file_name = $_GET['file'];
//validate file exists and *remove any ../ - simple:
if (strpos($file_name, '/') !== false) die('yeah right..');
header("Content-Disposition: attachment;filename=\"$file_name\"");
echo file_get_contents($file_name);
die();
- 4 回答
- 0 關注
- 179 瀏覽
添加回答
舉報