亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在不刷新網頁的情況下運行php文件?

如何在不刷新網頁的情況下運行php文件?

PHP
GCT1015 2023-07-15 17:35:49
我有個問題。如果有人提供幫助,我將感到非常榮幸。首先,讓我解釋一下我想要的工作流程。我的 CMS 是 Wordpress。我有一個網頁(views.php)。在此頁面中,我想僅向具有訂閱者角色的用戶顯示一個下載按鈕(id =“download-button”)。默認情況下,沒有人具有訂閱者角色。因此,該按鈕默認是隱藏的。當用戶購買特定產品時,他獲得角色訂閱者?,F在,假設用戶已在瀏覽器中將views.php 頁面作為選項卡打開。在此步驟中,該按鈕被隱藏。之后,他打開另一個選項卡并購買該特定產品,并獲得角色訂閱者?,F在,如果他刷新 view.php 頁面,就會看到下載按鈕。但是,我希望用戶在不刷新頁面的情況下看到下載按鈕。對此,我編寫了button.php文件,以便在ajax中調用。然而,它不起作用。我的代碼:html代碼(寫在view.php中,這是下載按鈕的地方):<div id="div1"></div>我的 javascript 代碼(放在 view.php 文件中):<script>$(document).ready(function(){  $("button").click(function(){    $("#div1").load("button.php");  });});</script>我的button.php代碼:<?phpif (check_user_role(array('subscriber'))) {echo ('<button id="download-button">Download</button>');                        }               ?>我應該注意到我已經在views.php中編寫了check_user_role php函數。如果你能幫忙,那將是我的榮幸。
查看完整描述

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/


查看完整回答
反對 回復 2023-07-15
?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

$(document).ready 事件僅在 DOM 加載后運行一次。因此,除非重新加載頁面,否則該事件不會觸發。


如果用戶在另一個瀏覽器選項卡中購買訂閱,然后返回到原始選項卡,則會觸發 windows.onfocus 事件。


因此,您可以使用 window.onfocus 事件在每次 view.php 選項卡變為活動狀態時檢查訂閱,然后在必要時顯示按鈕。所以你可以在 view.php 中使用類似下面的內容


$(document).ready(function(){

  window.onfocus = function () {

        $("#div1").load("button.php"); 

  }

});


查看完整回答
反對 回復 2023-07-15
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

嘿,你必須使用 Window setInterval() 方法,該方法的作用是它會按照你設置的時間間隔在后臺觸發。

您可以調用 ajax 代碼來設置/顯示您的按鈕

 setInterval(function(){ 
   $("#div1").load("button.php"); 
 }, 3000);

確保添加此按鈕后將 return false ,這樣它就不會一次又一次地執行,不會增加網頁上的負載。


查看完整回答
反對 回復 2023-07-15
?
幕布斯6054654

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();


查看完整回答
反對 回復 2023-07-15
  • 4 回答
  • 0 關注
  • 179 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號