Я пытаюсь добавить систему комментариев disqus в свое приложение. я следовал инструкции написано в статье KLICKДобавление disqus в проект meteor.js
Я создал шаблон под названием disqus.html
<template name="disqus">
{{#isolate}}
<div id="disqus_thread"></div>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
{{/isolate}}
</template>
Если этот шаблон оказывается, embed.js необходимо загрузить один раз и Disqus делает сброс.
Template.disqus.rendered = function() {
Session.set("loadDisqus", true);
return typeof DISQUS !== "undefined" && DISQUS !== null ? DISQUS.reset({
reload: true,
config: function() {}
}) : void 0;
};
Реагировать на sessionchange в deps.autorun
Meteor.startup (function() {
Deps.autorun(function() {
if(Session.get("loadDisqus") && !window.DISQUS) {
var disqus_shortname = '<example>'; // required: replace example with your forum shortname
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
}
});
});
Это отлично работает в Firefox 25.0.1. Я могу войти в систему, выйти из системы и создать комментарии. Но он не работает в Chrome 31.0.1650.57 м. Я не могу войти в систему. Ошибка не возникает. Что я могу сделать? Какие-либо предложения?
Даже для входа в disqus в discovermeteor.com/... не возможно.
Приятная идея избежать Deps.autorun. У вас есть какая-либо информация о том, насколько высокая производительность теряется при использовании многопользовательских автозапуска? Может быть, есть статистика. Я дам ему попробовать и протестировать его, но сначала вы могли бы объяснить мне functioncall myScriptLoader? Я не могу это получить. Что такое M6.Events.manager? – chaosbohne
Нет информации об этом, потому что. Но это зависит от оборудования клиента. Это может быть тяжело на смартфоне/планшете, но бесполезно думать об этом на рабочем столе CoreI7. Я удалил Events.manager, потому что здесь бесполезно. myScriptLoader возьмет ваш элемент сценария dom и добавит прослушиватель событий, используя onload/onreadystatechange (в зависимости от браузера), а затем этот прослушиватель выполнит обратный вызов при срабатывании события. – Rebolon
Хорошо, спасибо, я скоро проверю это – chaosbohne