javascript
  • facebook
  • iframe
  • 2010-05-04 5 views 1 likes 
    1

    Я строю Iframe и я использую document.location.href -> мой точный код:URL кодирования для document.location.href

    <script type="text/javascript"> 
    document.write("<iframe src='http://www.facebook.com/plugins/like.php?href=" + document.location.href + "&layout=standard&show_faces=false&action=like&font=verdana&colorscheme=light' frameborder=0></iframe>"); 
    </script> 
    

    Это работает отлично подходит для всех моих страниц, кроме одного. Я считаю, что проблема с одной страницей вызвана тире «-», находящейся в названии страницы. Мои вопросы: есть ли способ кодирования моего src по-другому, чтобы ссылка работала? ПРАВИЛЬНО URL Я хочу, чтобы вытащить это:

    [] /products/Product%252dExample.html

    Но то, что он тянет в есть:

    [] /products/Product-Example.html

    И это приводит к неправильной работе страницы.

    Спасибо!

    ответ

    2

    encodeURIComponent функция будет делать то, что вы хотите.

    <script type="text/javascript"> 
    document.write("<iframe src='http://www.facebook.com/plugins/like.php?href=" + encodeURIComponent(document.location.href) + "&layout=standard&show_faces=false&action=like&font=verdana&colorscheme=light' frameborder=0></iframe>"); 
    </script> 
    
    +0

    Фактически, 'encodeURIComponent ('Product-Example')' дает 'Product-Example', что обычно должно быть в URI. '% 252d' - это странная недопустимая двухпроцентная кодировка для дефиса. Тайлер, ты уверен, что это то, что тебе нужно? – Tgr

    +0

    Спасибо Якоб - я думал, что это сработает, но это не так. Похоже, что URL-адрес уже правильно закодирован на моей стороне, но на стороне facebook он неправильно интерпретирует его. Вы знакомы с новые функции facebook вообще? Любой способ исправить это? – Tyler

    2

    Facebook как кнопки двойного кодирования страницы УИР целевой страницы поэтому способ получить то, что вы ищете, ...

    encodeURIComponent (encodeURIComponent (document.location.href))

    О, эти дурацкие ребята из ФБ.

    +0

    это решило для меня другую проблему: динамически генерируя ссылки на стороне клиента с именами, закодированными в кодировке url. Когда я только кодировал один раз, браузер отправил запрос на декодированный URL-адрес, что было нежелательно для меня. Спасибо! –

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