2014-04-29 8 views
7

Wdrażamy funkcję udostępniania za pomocą TencentQQ przy użyciu statycznego adresu URL udziału. Mamy zakodowany adres URL: „http://www.testurl.com/product/this-is-a-product-%E7%9F%AD%E8%A3%A4/id-000000TencentQQ - URL uzyskujący podział podczas mieszania mandarynek i angielskich adresów URL (decodeURIComponent)

Kiedy ten link jest dzielona przez TencentQQ używając tego linku: http://share.v.t.qq.com/index.php?c=share&a=index&url=http://www.testurl.com/product/this-is-a-product-%E7%9F%AD%E8%A3%A4/id-000000&title=This%20is%20a%20test&appkey=000000000

Zobaczysz na paszę, że adres URL jest podzielony na początku znaków mandarynki. URL Being Split

sobie wyobrazić, że są one za pomocą decodeURIComponent podczas przetwarzania adresu URL, który zauważam ten sam efekt, gdy wykonywane w Chrome dev narzędzi konsoli:

Chrome Dev Tools

Chyba tutaj pytanie brzmi - czy Robię coś nie tak podczas kodowania tego adresu URL? Czy jest jakiś powód, że adres URL jest dzielony na początku znaków mandaryńskich?

+2

Nie sądzę, że jest to problem "decodeURIC Component", bardziej prawdopodobne jest wyrażenie regularne, które powoduje wyświetlanie go jako łącza. Zwraca to, co powinno. W konsoli Chrome mogę zrozumieć, dlaczego w kodzie, z którym masz problem, nie wiem. Czy próbowałeś skontaktować się z pomocą techniczną? –

Odpowiedz

3

Twój adres URL nie jest zakodowany, wygląda na to, że został zakodowany, ponieważ używa znaków spoza ASCII/niełacińskich, każdy adres URL z innym adresem URL jako parametr musi być zakodowany, długi skrót, tutaj jest rozwiązanie:

function urlShare(url,title,appkey){ 
    return 'http://share.v.t.qq.com/index.php?c=share&a=index&url='+encodeURIComponent(url)+'&title='+encodeURIComponent(title)+'&appkey='+appkey 
} 

Wystarczy wywołać tę funkcję za pomocą adresu URL, tytuł i appkey (nie wiem, czy appkey muszą być zakodowane):

urlShare('http://www.testurl.com/product/this-is-a-product-%E7%9F%AD%E8%A3%A4','A Title','id-000000') 

on powróci bezpieczny URL, który faktycznie Prace.

Powiązane problemy