第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在不刷新網(wǎng)頁(yè)的情況下運(yùn)行php文件?

如何在不刷新網(wǎng)頁(yè)的情況下運(yùn)行php文件?

PHP
GCT1015 2023-07-15 17:35:49
我有個(gè)問(wèn)題。如果有人提供幫助,我將感到非常榮幸。首先,讓我解釋一下我想要的工作流程。我的 CMS 是 Wordpress。我有一個(gè)網(wǎng)頁(yè)(views.php)。在此頁(yè)面中,我想僅向具有訂閱者角色的用戶顯示一個(gè)下載按鈕(id =“download-button”)。默認(rèn)情況下,沒(méi)有人具有訂閱者角色。因此,該按鈕默認(rèn)是隱藏的。當(dāng)用戶購(gòu)買(mǎi)特定產(chǎn)品時(shí),他獲得角色訂閱者?,F(xiàn)在,假設(shè)用戶已在瀏覽器中將views.php 頁(yè)面作為選項(xiàng)卡打開(kāi)。在此步驟中,該按鈕被隱藏。之后,他打開(kāi)另一個(gè)選項(xiàng)卡并購(gòu)買(mǎi)該特定產(chǎn)品,并獲得角色訂閱者?,F(xiàn)在,如果他刷新 view.php 頁(yè)面,就會(huì)看到下載按鈕。但是,我希望用戶在不刷新頁(yè)面的情況下看到下載按鈕。對(duì)此,我編寫(xiě)了button.php文件,以便在ajax中調(diào)用。然而,它不起作用。我的代碼:html代碼(寫(xiě)在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>');                        }               ?>我應(yīng)該注意到我已經(jīng)在views.php中編寫(xiě)了check_user_role php函數(shù)。如果你能幫忙,那將是我的榮幸。
查看完整描述

4 回答

?
繁華開(kāi)滿天機(jī)

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊

您可以將事件偵聽(tīng)器函數(shù)訂閱到 window.onfocus 事件。嘗試以下操作:


document.addEventListener("DOMContentLoaded", function (event) {

? ? window.onfocus = function () {

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

? ? }

});

我強(qiáng)烈建議您進(jìn)一步閱讀 javascript 事件。

對(duì)于純 JavaScript: https:

//www.w3schools.com/js/js_events.asp

對(duì)于 jQuery: https:

//api.jquery.com/category/events/


查看完整回答
反對(duì) 回復(fù) 2023-07-15
?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊

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


如果用戶在另一個(gè)瀏覽器選項(xiàng)卡中購(gòu)買(mǎi)訂閱,然后返回到原始選項(xiàng)卡,則會(huì)觸發(fā) windows.onfocus 事件。


因此,您可以使用 window.onfocus 事件在每次 view.php 選項(xiàng)卡變?yōu)榛顒?dòng)狀態(tài)時(shí)檢查訂閱,然后在必要時(shí)顯示按鈕。所以你可以在 view.php 中使用類似下面的內(nèi)容


$(document).ready(function(){

  window.onfocus = function () {

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

  }

});


查看完整回答
反對(duì) 回復(fù) 2023-07-15
?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

嘿,你必須使用 Window setInterval() 方法,該方法的作用是它會(huì)按照你設(shè)置的時(shí)間間隔在后臺(tái)觸發(fā)。

您可以調(diào)用 ajax 代碼來(lái)設(shè)置/顯示您的按鈕

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

確保添加此按鈕后將 return false ,這樣它就不會(huì)一次又一次地執(zhí)行,不會(huì)增加網(wǎng)頁(yè)上的負(fù)載。


查看完整回答
反對(duì) 回復(fù) 2023-07-15
?
幕布斯6054654

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊

將 iframe 添加到 view.php 中,不需要包含任何內(nèi)容也不需要可見(jiàn)。


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

}

您可能需要通過(guò) php 文件包裝下載操作以修改其標(biāo)頭


下載.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();


查看完整回答
反對(duì) 回復(fù) 2023-07-15
  • 4 回答
  • 0 關(guān)注
  • 193 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)