首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 後端與 JavaScript 兩種跨框架通訊方式

     編輯:PHP 綜合知識

利用 iframe 實現 PHP 與 JavaScript 雙向通訊

頁面結構:index.htm 為框架頁,左側隱藏 action.php(寬度 0),右側顯示 main.htm。兩種資料傳遞方式:

方式一:Cookie 交換

<!-- index.htm -->
<frameset cols="0,*">
  <frame name="leftFrame" src="action.php">
  <frame name="rightFrame" src="main.htm">
</frameset>

action.php 寫入 Cookie:

<?php
$val = rand(0,100);
setcookie('action', $val, time()+900, '/');
?>

main.htm 輪詢讀取:

<script>
setInterval(function(){
  document.test.current_cookie.value = document.cookie;
}, 200);
</script>

方式二:直接 DOM 存取

action.php 輸出 JavaScript 直接寫入父框架表單:

<?php $val = rand(0,100); ?>
<script>
parent.rightFrame.test.current_cookie.value = "";
</script>

比較與適用場景

特性Cookie 方式DOM 直接存取
同源策略同域名自動共享需同域名,否則跨域被阻擋
即時性輪詢延遲即時觸發
資料量受 4KB 限制無明確限制
適用場景簡單狀態同步、跨頁面持久化單頁應用內部模組通訊

現代替代方案

  • localStorage + storage 事件:同域名分頁即時同步。
  • postMessage:跨域安全通訊。
  • WebSocket / Server-Sent Events:伺服器主動推送。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved