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