2012-05-14 3 views
0

Я делаю букмарклет для моего url shortener. Он делает это, сокращая текущий url страницы, когда вы нажимаете на букмарклет, поэтому вам не нужно идти на сайт, чтобы сократить 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 текущей страницы, но он также показывает веб-страницу для сокращения URL-адресов, и мне нужен только простой текст и ссылка для его копирования.

Пожалуйста, помогите!

Редактировать: Извините, что я плохой в php, но как я могу сделать параметр «responseType»? Спасибо

+0

Вы были ближе к тому, что с [ваш JSONP подход] (http://stackoverflow.com/questions/10585645/how-to-make-an-instant-shorten-link-for-a-url- shortener), хотя 'prompt()' следует избегать - с одной стороны, IE ему не очень нравится. Если может быть лучше, если вы используете этот текущий подход и добавите (например) параметр '& bookmarklet = 1' в URL-адрес и просто сгенерируете небольшую страницу, предназначенную для запуска в окне 400x300, когда этот параметр присутствует. – DaveRandom

ответ

1

Что отображается во всплывающем окне, это то, что возвращается http://n1x.co.uk/create.php. Вам нужно будет изменить php, чтобы вернуть только укороченный URL в виде обычного текста. Если php также используется узлом shortener, то вы можете передать параметр 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

Как показано в фрагменте кода выше, добавьте responseType = plainurl в url. В вашем php-файле вы можете получить значение параметра responseType, выполнив что-то вроде: $ _GET ["responseType"] должен возвращать значение plainurl. Тогда у вас может быть, если иначе логика говорит, что если $ _GET ["responseType"] == 'plainurl' возвращает сокращенный url, то возвращает только то, что он возвращает. – septerr

 Смежные вопросы

  • Нет связанных вопросов^_^