2012-05-14 56 views
0

我正在爲我的網址縮短器製作一個書籤。它的作用是當你點擊書籤時縮短頁面當前的URL,所以你不必去站點來縮短url,但是我需要的是書籤小組返回一個彈出窗口下面列出了縮短的網址。如何使窗口從使用javascript鏈接彈出

什麼我迄今所做的是:

javascript:u=encodeURIComponent(location.href);s='http://n1x.co.uk/create.php?url='+u;window.open(s,'shortened','location=no,width=400,height=300');

如果您有書籤這一點,你當你點擊它發現,它確實縮短當前頁面的URL,但它也顯示網址縮短網頁,我只需要純文本和鏈接來複制它。

請幫忙!

編輯:對不起,我對PHP不好,但我怎麼能做一個參數「responseType」?謝謝

+0

你更接近與[您JSONP途徑(http://stackoverflow.com/questions/10585645/how-to-make-an-instant-shorten-link-for-a-url-儘管'prompt()'應該被避免 - 一方面,IE不太喜歡它。如果使用這種當前的方法,如果可能會更好,並且爲URL添加(例如)&bookmarklet = 1'參數,並且只有當該參數存在時才生成一個設計爲在400x300窗口中運行的小頁面。 – DaveRandom

回答

1

彈出窗口中顯示的是http://n1x.co.uk/create.php返回的內容。您將不得不修改php以純文本形式返回縮短的url。如果php也被縮短網站使用,你可以做的就是傳遞一個參數給create.php,告訴它是否像現在一樣返回整個頁面,或者只返回純文本url。例如一個名爲'responseType'的參數。您可以修改create.php來說,當responseType ='plainurl'時,簡單地返回縮短的url而不是整個頁面。

javascript:u=encodeURIComponent(location.href);s='http://n1x.co.uk/create.php?url='+u + '&responseType=plainurl';window.open(s,'shortened','location=no,width=400,height=300'); 
+0

正如上面的代碼片段所示,在url中添加responseType = plainurl。在您的PHP文件中,您可以通過執行以下操作來獲取responseType參數的值:<?php echo $ _GET [「responseType」]; ?> $ _GET [「responseType」]應該返回plainurl的值。然後,如果$ _GET [「responseType」] =='plainurl'只返回縮短的url,則返回現在返回的內容。 – septerr