javascript - 彈出一個(gè)子窗口,操作之后關(guān)閉,主窗口會(huì)得到相應(yīng)的響應(yīng),例如網(wǎng)站的某些登錄界面,django后臺(tái)的管理等,這是怎么實(shí)現(xiàn)的呢?
問題描述
正在學(xué)習(xí)web開發(fā),想實(shí)現(xiàn)類似的功能,下面是一個(gè)django admin的例子:
比如說我想進(jìn)行所屬項(xiàng)目的添加或者編輯,我直接點(diǎn)紅圈里面的按鈕,然后彈出小窗口:
填寫完畢之后,小窗口關(guān)閉,主窗口會(huì)得到相應(yīng)的響應(yīng)。
還有很多網(wǎng)站的登錄界面也是,比如說使用社交賬號(hào)登錄,都是彈出一個(gè)窗口,然后執(zhí)行了幾乎相同的操作。我想知道這種實(shí)現(xiàn)術(shù)語應(yīng)該叫什么?有沒有什么資料或者是誰能解釋一下具體的工作流程,謝謝。
問題解答
回答1:你看下AJAX和dom操作就明白了
回答2:其實(shí)實(shí)現(xiàn)辦法我可以給出兩種:1是輪詢,就是當(dāng)新窗口彈出來后,就窗口每隔一定時(shí)間就往數(shù)據(jù)庫發(fā)送一次請(qǐng)求,判斷新頁面的操作是否完畢,如果已完成就進(jìn)行接下來的操作,比如說支付寶之類的,這類的缺點(diǎn)是對(duì)服務(wù)器造成的壓力大。
2是通過storage這類的API來進(jìn)行跨窗口的通訊,對(duì)于數(shù)據(jù)要求不那么嚴(yán)格的可以用這種,比如說用跨頁面點(diǎn)歌(蝦米音樂等)之類的,缺點(diǎn)是對(duì)老版本瀏覽器不兼容,具體要看項(xiàng)目的需求。
其他的歡迎樓下補(bǔ)充。。

網(wǎng)公網(wǎng)安備