2009-08-16 35 views
0

因此,我一直在思考這個問題並嘗試各種策略。基本上我試圖創建一個小書籤,當你點擊它的時候,你會在你碰到的任何頁面上彈出一個標題。在這個頭文件中,有一個小表單,其內容被提交給服務器。一旦提交,標題應該消失。在任何情況下,我已經加載JS我用一個簡單的裝載機書籤:概念:小書籤創建標題表單並在提交後再次刪除

javascript:(function(){document.body.appendChild(document.createElement('script')).src='http://localhost/bklts/script.js';})(); 

的問題是tricker比它的聲音 - 每一個想法我已經想出了一些實例失敗 - 而現在讓忘記IE兼容性,我會在稍後處理。

想法1將瀏覽器重定向到我的服務器上的一個頁面,其頂部的表單和下面的iframe中的原始頁面。這很有效,但速度非常慢:3頁加載以查看錶單和原始頁面,然後在提交表單以返回到原始頁面後加載另一頁面加載。此外,它在框架上的網站中斷。

想法2是在原始頁面的頂部插入一個iframe,該iframe將src格式文檔放置在我的服務器上。這工作很好,只需要1頁面加載(iframe的內容)。但是,原始頁面上絕對放置的元素保留在其絕對位置,覆蓋我的標題,而其他所有元素都向下移動。此外,我發現在提交表單之後,不可能在表單提交之後擺脫這個頭部,也不可能在iframe下面創建一個隱藏iframe和自身的鏈接,在提交表單後會點擊該鏈接。長話短說,不是真正的生產質量。

想法3根本不使用幀。在頁面頂部插入一個帶有表單的div,並將此表單提交給我的服務器。這個問題當然是原始頁面的樣式表會影響我的新div,而且我不知道如何告訴頁面而不是風格的標題div(或只爲其樣式與我的規則)。我被告知這在jQuery中是微不足道的,當我開始學習/使用它時,我還沒有找到一種方法來做到這一點。另外還有一個問題:如想法2所述的絕對問題,但我認爲這很不重要。

我在做這件事的方式是愚蠢的嗎?我是否應該放棄製作標題的所有希望,只需彈出一個新窗口?我真的很喜歡它是一個頭,但如果一個標頭是一個不可能完成的窗口就足夠了(這是2009年 - 幾乎沒有什麼不可能在網上,這些天...)

無論如何,任何幫助固定以上的想法或全新的想法非常受歡迎。

非常感謝您的時間,

麻辣

回答

1

如何插入到頁面?

這應該很簡單,不會繼承原始頁面的CSS。 您可以傳遞查詢字符串中iframe所需的任何內容。

我想讓它自毀可能會很棘手......也許你可以將它重定向到原始域上的一個頁面,然後進行輪詢。

+0

iframes似乎是我最好的選擇 - 這是目前「最好」的實現然而,投票真的是我最好的選擇?因爲只要我這樣做,不需要將其重定向到原始域上的頁面 - 我可以從原始頁面輪詢它的位置,如果它變成http://server/submitted.php,則關閉它。 雖然投票總是很棘手,因爲在提交後不可能在一定的時間內關閉投票(我想我可以檢查每一秒,但這似乎是極端的)... – Mala 2009-08-16 20:02:48

+1

我不認爲你是一個人,由於同源策略,能夠從原始頁面輪詢位置 - iframe位置位於不同的域 – Greg 2009-08-16 20:25:25

+0

因爲您只是輪詢iframe的位置,您可以隨時進行輪詢 - 10次一秒鐘就好了 – Greg 2009-08-16 20:26:06