Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.06.2013, 06:37
Аспирант
Отправить личное сообщение для cmail Посмотреть профиль Найти все сообщения от cmail
 
Регистрация: 13.03.2013
Сообщений: 34

script во внешнем JS
Не могу понять. скрипт
document.write('<script>var numberclick=0; function clickmoreone(){ numberclick++; if(numberclick>0) document.getElementById("ball").style.display="none"; }<\/script>')

во внешнем js работает если стоит так:

document.write('<script>var numberclick=0; function clickmoreone(){ numberclick++; if(numberclick>0) document.getElementById("ball").style.display="none"; }<\/script>');



function PopShow3() { 
CookieTest=navigator.cookieEnabled; 
if(CookieTest) 
{ 
ClickUndercookie = GetCookie('clickunder'); 
if (ClickUndercookie == null) 
{ 
var domain = window.location.href;
var ExpDate = new Date (); 
ExpDate.setTime(ExpDate.getTime() + (24 * 60 * 60 * 1000)); 
SetCookie('clickunder', '1', ExpDate, "/"); 
<!-- 
// —>
window.focus(); 
} 
} 
} 
function GetCookie (name) { 
var arg = name + "="; 
var alen = arg.length; 
var clen = document.cookie.length; 
var i = 0; 
while (i < clen) { 
var j = i + alen; 
if (document.cookie.substring(i, j) == arg) 
return getCookieVal (j); 
i = document.cookie.indexOf(" ", i) + 1; 
if (i == 0) break; 
} 
return null; 
} 
function SetCookie (name, value) { 
var argv = SetCookie.arguments; 
var argc = SetCookie.arguments.length; 
var expires = (argc > 2) ? argv[2]: null; 
var path = (argc > 3) ? argv[3]: null; 
var domain = (argc > 4) ? argv[4]: null; 
var secure = (argc > 5) ? argv[5]: false; 
document.cookie = name + "=" + escape (value) + 
((expires == null) ? "": ("; expires=" + expires.toGMTString())) + 
((path == null) ? "": ("; path=" + path)) + 
((domain == null) ? "": ("; domain=" + domain)) + 
((secure == true) ? "; secure": ""); 
} 
document.onLoad="PopShow3()"



а если размещаю что бы срабатывал вместе с куками(то не работает):

function PopShow3() { 
CookieTest=navigator.cookieEnabled; 
if(CookieTest) 
{ 
ClickUndercookie = GetCookie('clickunder'); 
if (ClickUndercookie == null) 
{ 
var domain = window.location.href;
var ExpDate = new Date (); 
ExpDate.setTime(ExpDate.getTime() + (24 * 60 * 60 * 1000)); 
SetCookie('clickunder', '1', ExpDate, "/"); 
<!-- 
document.write('<script>var numberclick=0; function clickmoreone(){ numberclick++; if(numberclick>0) document.getElementById("ball").style.display="none"; }<\/script>');
// —>
window.focus(); 
} 
} 
} 
function GetCookie (name) { 
var arg = name + "="; 
var alen = arg.length; 
var clen = document.cookie.length; 
var i = 0; 
while (i < clen) { 
var j = i + alen; 
if (document.cookie.substring(i, j) == arg) 
return getCookieVal (j); 
i = document.cookie.indexOf(" ", i) + 1; 
if (i == 0) break; 
} 
return null; 
} 
function SetCookie (name, value) { 
var argv = SetCookie.arguments; 
var argc = SetCookie.arguments.length; 
var expires = (argc > 2) ? argv[2]: null; 
var path = (argc > 3) ? argv[3]: null; 
var domain = (argc > 4) ? argv[4]: null; 
var secure = (argc > 5) ? argv[5]: false; 
document.cookie = name + "=" + escape (value) + 
((expires == null) ? "": ("; expires=" + expires.toGMTString())) + 
((path == null) ? "": ("; path=" + path)) + 
((domain == null) ? "": ("; domain=" + domain)) + 
((secure == true) ? "; secure": ""); 
} 
document.onLoad="PopShow3()"



В чем ошибка???
Ответить с цитированием
  #2 (permalink)  
Старый 28.06.2013, 06:40
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

cmail,
1. В неподгружаемом файлом скрипте на странице не должно быть тегов закрытия </script>, т.е
скрипт выложенный на странице можно записать так
document.write('<script>var numberclick=0; function clickmoreone(){ numberclick++; if(numberclick>0) document.getElementById("ball").style.display="none"; }'<'+'/'+'script>')


2. document.write не может находиться в функции с произвольным по времени вызовом
поскольку document.write без очистки страницы может нормально действовать до события window.onload
Иcпользуйте в функциях appendChild

Последний раз редактировалось Deff, 28.06.2013 в 06:48.
Ответить с цитированием
  #3 (permalink)  
Старый 28.06.2013, 06:46
Аспирант
Отправить личное сообщение для cmail Посмотреть профиль Найти все сообщения от cmail
 
Регистрация: 13.03.2013
Сообщений: 34

так не работает((
но работает:
document.write('<script>var numberclick=0; function clickmoreone(){ numberclick++; if(numberclick>0) document.getElementById("ball").style.display="non e"; }<\/script>')
если он сверху скрипта
Ответить с цитированием
  #4 (permalink)  
Старый 28.06.2013, 06:48
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от cmail
<!--
Это че такое?
Deff, ну он ведь уже заэкранировал слэш - этого достаточно было.
Ответить с цитированием
  #5 (permalink)  
Старый 28.06.2013, 06:49
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Стоп. А какого хрена ты это через document.write выводишь?
Ответить с цитированием
  #6 (permalink)  
Старый 28.06.2013, 06:59
Аспирант
Отправить личное сообщение для cmail Посмотреть профиль Найти все сообщения от cmail
 
Регистрация: 13.03.2013
Сообщений: 34

с cod.php на сайт выводиться слой который я хочу при наведении закрывать спомощью куков на 24 часа

Вот моя тема: Внешний js не работает???
Ответить с цитированием
  #7 (permalink)  
Старый 28.06.2013, 07:08
Аспирант
Отправить личное сообщение для cmail Посмотреть профиль Найти все сообщения от cmail
 
Регистрация: 13.03.2013
Сообщений: 34

cod.php
document.write('<div style="position: absolute; width: 100px; height: 44px; z-index: 1; left: 20px; top: 215px" id="ball"><iframe class="transparent" name="I2" scrolling="no" width="498" height="77" align="left" 
src="http://cod.php?id=<?php print "$id"; ?>" onmouseout="clickmoreone();"></iframe></div>');


document.write('<SCRIPT LANGUAGE="JavaScript" src="http://мой сайт/clickunder.js"></SCRIPT>');


на сайте:
<script language="JavaScript" src="http://cod.php?id=1"></script>
Ответить с цитированием
  #8 (permalink)  
Старый 28.06.2013, 07:09
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

cmail,
А нафега его через document.write
почему не вставить вместо него просто функцию ?
var numberclick=0; function clickmoreone(){ numberclick++; if(numberclick>0) document.getElementById("ball").style.display="none"; }

В чём соль записи через отдельный скрипт ?
Ответить с цитированием
  #9 (permalink)  
Старый 28.06.2013, 07:12
Аспирант
Отправить личное сообщение для cmail Посмотреть профиль Найти все сообщения от cmail
 
Регистрация: 13.03.2013
Сообщений: 34

если добавить в cod.php то с <?php print "$id"; ?> не работает
Ответить с цитированием
  #10 (permalink)  
Старый 28.06.2013, 07:15
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от cmail
с <?php print "$id"; ?> не работает
<script>
var id='ball'; //Это прописываешь  PHP
</script>


А эт сама функция:
var numberclick=0; function clickmoreone(id){ numberclick++; if(numberclick>0) document.getElementById(id).style.display="none"; }
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операционная Система на JS Icat Общие вопросы Javascript 3 17.04.2018 22:54
Не получается вставить код js в HTML garmoni Элементы интерфейса 3 05.09.2013 05:56
Вставка кода js с помощью js Alice Общие вопросы Javascript 1 12.06.2013 19:05
ошибка js Script error in line 0 Bozercov Opera, Safari и др. 0 06.11.2012 18:35
JS - script в зависимости от Браузера. barboss Javascript под браузер 5 08.02.2012 20:37