簡體   English   中英

會話變量更改時重新加載iframe內容

[英]Reload iframe content when session variable changes

我正在為學校項目制作網上商店,但購物車出現問題。 因為購物車和網上商店在首頁上位於不同的iframe中(首頁上有很多圖像,所以不想重新加載,這就是為什么它在iframe中)。

基本上,我的問題是,當在網上商店中選擇某項內容時,直到重新加載整個網頁之后,購物車才會更新。 我將購物車信息存儲在SESSION變量中的數組中。 基本上,我想要的是在會話變量更改時重新加載購物車的iframe。

如果答案除了PHP / javascript之外還涉及其他內容,請給出清晰的解釋/示例代碼,我以前從未使用過PHP / js / html / css之外的任何內容。 在此先感謝:)幾天了:S

創建一個javascript函數,以在用戶向購物車中添加內容時觸發以下代碼:

document.getElementById('some_frame_id').contentWindow.location.reload();

我前面沒有代碼,但是我做了類似的事情,在父級中,您可以在“消息”上創建一個事件偵聽器,然后在iframe中,您可以調用parent.postMessage,只要它們在同一域

盡管APAD1的答案直接針對您的要求,但聽起來您的程序存在一些更深層的設計問題。 將iframe用於來自同一網站的內容(例如,在一個域內而不是來自單獨網站的內容)是不好的做法。

考慮改為在具有唯一ID的<div>顯示內容,並使用javascript更新這些div的內容。 如果您在后端使用PHP,則可以創建一個“頁面”,該頁面僅生成頁面中購物車內容的一部分。 您不僅可以在沒有任何更改的情況下將其包含在每個頁面中,還可以直接使用javascript加載它,並將結果插入當前頁面以對其進行適當更新。

每當您的用戶向購物車中添加商品時,您都可以調用javascript方法,用購物車的內容刷新<div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM