2014-01-27 2 views
0

У меня есть следующий код для отображения даты/времени на моем сайте:дата Javascript конфликт/время с clickdesk

<div id="clockbox" style="<font-size:9pt; padding:3px; text-align: center; text-transform: lowercase; overflow: hidden; height: 17px"> 
&nbsp;</div> 
<script type="text/javascript"> 
tday =new Array("Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"); 
tmonth=new Array("Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"); 

function GetClock(){ 
d = new Date(); 
nday = d.getDay(); 
nmonth = d.getMonth(); 
ndate = d.getDate(); 
nyear = d.getYear(); 
nhour = d.getHours(); 
nmin = d.getMinutes(); 
nsec = d.getSeconds(); 

if(nyear<1000) nyear=nyear+1900; 

if(nhour == 0) {ap = " AM";nhour = 12;} 
else if(nhour <= 11) {ap = " AM";} 
else if(nhour == 12) {ap = " PM";} 
else if(nhour >= 13) {ap = " PM";nhour -= 12;} 

if(nmin <= 9) {nmin = "0" +nmin;} 
if(nsec <= 9) {nsec = "0" +nsec;} 


document.getElementById('clockbox').innerHTML=""+tday[nday]+", "+ndate+". "+tmonth[nmonth]+" "+nyear+". "+nhour+":"+nmin+":"+nsec+ap+""; 
setTimeout("GetClock()", 1000); 
} 
window.onload=GetClock; 
</script> 

Это показывает красиво на всех страницах, если я не следующие строки на той же странице:

<div class="clickdesk-widget"> 
<script type='text/javascript'> 
var _glc =_glc || []; 
_glc.push('<?php echo $widgetid; ?>'); 
var glcpath = (('https:' == document.location.protocol) ? 'https://contactuswidget.appspot.com/livily/browser/' : 'http://gae.clickdesk.com/livily/browser/'); 
var glcp = (('https:' == document.location.protocol) ? 'https://' : 'http://'); 
var glcspt = document.createElement('script'); glcspt.type = 'text/javascript'; glcspt.async = true;glcspt.src = glcpath + 'livechat.js'; 
var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(glcspt, s); 
</script> 
</div> 

В чем проблема, может ли кто-нибудь помочь?

ответ

0

Вы объявляете глобальную переменные d, nday и т.д. здесь:

d = new Date(); 
nday = d.getDay(); 
nmonth = d.getMonth(); 
ndate = d.getDate(); 
nyear = d.getYear(); 
nhour = d.getHours(); 
nmin = d.getMinutes(); 
nsec = d.getSeconds(); 

пытается объявить локальные переменные вместо этого (я предполагаю, что d переменных является корнем вашего problenm, потому что затемненный код использует имена переменных, как это) таким образом:

var d = new Date(); 
var nday = d.getDay(); 
var nmonth = d.getMonth(); 
var ndate = d.getDate(); 
var nyear = d.getYear(); 
var nhour = d.getHours(); 
var nmin = d.getMinutes(); 
var nsec = d.getSeconds(); 

Если онлайн, отправьте ссылку.

+0

Благодарим вас за ответ. по сути, все работает отлично, если я только прокомментирую эти строки из второго скрипта (похоже, они не нужны). во всяком случае, я хотел бы принять ваш ответ. – user1688303