2013-03-14 1 views
0

Я реализую Pinterest в приложении Android-телефона phonegap. Код, я использую это следующим образом:Ошибка при реализации Pinterest с использованием javascript

<html> 
<head> 
    <title>PINTEREST</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"/> 
    <meta name="layout" content="mobile"/> 
    <meta name="apple-mobile-web-app-capable" content="yes"/> 
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/> 
</head> 
<body> 
<a data-pin-config="above" href="https://pinterest.com/pin/create/button/?url=http%3A%2F%2Fwww.flickr.com%2Fphotos%2Fkentbrew%2F6851755809%2F&media=http%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest" data-pin-do="buttonPin" ><img src="https://assets.pinterest.com/images/pidgets/pin_it_button.png" /></a> 
<script type="text/javascript" src="https://assets.pinterest.com/js/pinit.js"></script> 
</body> 
</html> 

Он работает отлично в браузере, но при установке его на Android устройстве, я получаю уведомление, как:

произошла ошибка сети (файл: //assests.pinterest.com/pidget.html) # = с помощью файла% 3A% 2F% 2F% 2Fandroid_asset% 2Ftest.html & тип = pidget)

Это из-за

<script type="text/javascript" src="https://assets.pinterest.com/js/pinit.js"></script> 

но я должен использовать его. Пожалуйста, помогите мне решить проблему.

ответ

0

Я решил проблему, загрузив pinit.js асинхронно. То, что я использовал, является:

<script type="text/javascript"> 
(function (w, d, load) { 
var script, 
first = d.getElementsByTagName('SCRIPT')[0], 
n = load.length, 
i = 0, 
go = function() { 
    for (i = 0; i < n; i = i + 1) { 
    script = d.createElement('SCRIPT'); 
    script.type = 'text/javascript'; 
    script.async = true; 
    script.src = load[i]; 
    first.parentNode.insertBefore(script, first); 
    } 
} 
if (w.attachEvent) { 
    w.attachEvent('onload', go); 
} else { 
    w.addEventListener('load', go, false); 
} 
}(window, document, 
['//assets.pinterest.com/js/pinit.js'] 
));  
</script> 
0

Вы можете загрузить активы на локальный. В противном случае он ничего не отобразит на телефоне без сетевого подключения. Использование ресурсов с другого сайта, вероятно, также является плохой идеей, см. "Inline Linking (Hot Links)".

+0

Да на самом деле я скачал и хранятся в местных, но до сих пор она не работает, теперь для справки я написал, как это. – user

+0

После того, как вы его загрузили, изменили ли вы ссылки с Pinterest на локальную машину? –

+0

Они должны указывать на 'файл: /// android_asset /'. [См. Также этот ответ.] (Http://stackoverflow.com/a/9432330/154306) –

0

У вас может не быть INTERNET permission. Убедитесь, что он включен в AndroidManifest.xml.

+0

Да в моем AndroidManifest.xml, я включил < use-permission android: name = "android.permission.INTERNET" /> – user

0

Вы можете использовать плагин для сотового телефона SocialSharing для подключения чего-либо на Android. Просто добавьте this plugin и добавьте кнопку:

< кнопка onclick = "window.plugins.socialsharing.shareVia ('pinterest', 'Wow!')"> Закрепите его! </кнопка>

Не может быть проще :)

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

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