Javascript 显示/隐藏取消搜索按钮don';无法正确使用firefox
我在我的网站上使用disqs,并且添加了一个buton来显示/隐藏评论。该按钮在Chrome、Opera(我猜还有IE)上运行良好,但在Firefox上却失败了 它失败是因为当我点击按钮时,我没有显示带有注释的div。这个部门似乎没有大小。如果我更改窗口浏览器大小…\°/ 我看到评论了!为什么?Javascript 显示/隐藏取消搜索按钮don';无法正确使用firefox,javascript,html,css,firefox,disqus,Javascript,Html,Css,Firefox,Disqus,我在我的网站上使用disqs,并且添加了一个buton来显示/隐藏评论。该按钮在Chrome、Opera(我猜还有IE)上运行良好,但在Firefox上却失败了 它失败是因为当我点击按钮时,我没有显示带有注释的div。这个部门似乎没有大小。如果我更改窗口浏览器大小…\°/ 我看到评论了!为什么? <p id="commentsButton"> <button id="buttonComment" onclick="toggleComments()">
<p id="commentsButton">
<button id="buttonComment" onclick="toggleComments()">
Commentaires</button>
</p>
<script type="text/javascript">
function toggleComments(){
if (document.getElementById("comments").style.display == "none"){
document.getElementById("comments").style.display="inline";
} else {
document.getElementById("comments").style.display="none";
}
}
</script>
我能做什么呢?当在隐藏元素中加载discus时,Firefox(和一些IE版本)会有奇怪的行为。您可以通过在toggleComments()
函数中包装disqs嵌入代码来解决此问题,以便在该元素可见时加载
但是,请确保将配置变量(如discus\u shortname
)保留在函数之外。总之,它可以看起来像这样:
<script type="text/javascript">
var disqus_shortname='YOUR_SHORTNAME';
function toggleComments(){
if (document.getElementById("comments").style.display == "none"){
document.getElementById("comments").style.display="inline";
(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);
}
else {
document.getElementById("comments").style.display="none";
}
}
}
</script>
var discus_shortname='YOUR_shortname';
函数toggleComments(){
if(document.getElementById(“comments”).style.display==“none”){
document.getElementById(“comments”).style.display=“inline”;
(功能(){
var dsq=document.createElement('script');dsq.type='text/javascript';dsq.async=true;
dsq.src='/'+discus_shortname+'.discus.com/embed.js';
(document.getElementsByTagName('head')[0]| | document.getElementsByTagName('body')[0]).appendChild(dsq);
}
否则{
document.getElementById(“注释”).style.display=“无”;
}
}
}
不适用于我:-(我添加”);“before}但没有附加任何内容。您可以说“disqs loaded in hidden element”。我加载带有“comments inline”的页面,在页面结束之前,我调用“toggleComments”立即隐藏comments div…
<script type="text/javascript">
var disqus_shortname='YOUR_SHORTNAME';
function toggleComments(){
if (document.getElementById("comments").style.display == "none"){
document.getElementById("comments").style.display="inline";
(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);
}
else {
document.getElementById("comments").style.display="none";
}
}
}
</script>