| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > Не подключается скрипт |
| Автор: prog90 6.6.2009, 14:43 |
| Здравствуйте, У меня не подключается файл с javscript'ом к html-странице. В конфиге сервера строчка про джаваскрипт есть. Код файла не содержит html-тегов. Вот текст подключения файла <script type="text/javascript" src="addressBook.js"></script> В чем может быть дело? |
| Автор: Dobermann 6.6.2009, 14:58 |
| В той же папке скрипт?! |
| Автор: prog90 6.6.2009, 18:24 |
| Да, в той же. все файлы в одной папке проекта guestbook, которая лежит на локальном сервере в папке www |
| Автор: bars80080 6.6.2009, 18:42 |
| а как выяснено, что файл не подключён? по факту, бывает такая проблема, что в случае одной ошибки скриптов, все остальные тоже перестают работать. сколько у вас этих подключаемых файлов? нет ли кода в самой странице? попробуйте отключив всё, подключая поочереди проверить, не появляется ли ошибка от какого-то файла если файл один, то попробуйте перенести всё содержимое непосредственно в страницу. если будет работать, то точно проблемы с подключением |
| Автор: ksnk 6.6.2009, 18:44 |
Про это поподробнее, пожалуйста... Мне казалось, что серверу глубоко до лампочки всякий там JavaScript... На этой страничке, к примеру, javascript схожим с описанным способом исправно подключается |
| Автор: prog90 6.6.2009, 22:47 |
| Вот файл страницы <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" » "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" » xml:lang="en" lang="en"> <head> <title>Ajax Address Book</title> <meta http-equiv="content-type" content="text/html; » charset=iso-8859-1" /> <meta http-equiv="Content-Language" content="en-us" /> <script type="text/javascript" src="XHConn.js"></script> <script type="text/javascript" src="addressBook.js"></script> </head> <body> <h1>Simple Ajax Address Book</h1> <form action="getAddress.php" method="POST"> <fieldset> <legend>Please Choose a Person</legend> <select id="person" name="person"> <option value="">Choose Someone</option> <option value="1">Bob Smith</option> <option value="2">Janet Jones</option> </select> <input type="submit" id="submit" name="submit" » value="Get the Address" /> </fieldset> </form> <pre id="address"></pre> </body> </html> а вот файл прикрепленный со скриптом var addressBook = { myConn: false, // the XMLHttpRequest body: false, // the body element target: false, // the target container loader: false, // the loader init: function(controlId, sbmtBtnId, targetId){ /* init() takes three arguments: * the id of the controller (select) * the id of the submit button * the id of the target container */ // test for methods & elements if(!document.getElementById || !document.getElementsByTagName || !document.getElementById(controlId) || !document.getElementById(sbmtBtnId) || !document.getElementById(targetId)) return; // set and test XHConn, quitting silently if it fails addressBook.myConn = new XHConn(); if(!addressBook.myConn) return; // get the body addressBook.body = document.getElementsByTagName('body')[0]; // get the controller var control = document.getElementById(controlId); // get the submit button var sbmtBtn = document.getElementById(sbmtBtnId); // remove the submit button sbmtBtn.parentNode.removeChild(sbmtBtn); // get the target addressBook.target = document.getElementById(targetId); // add the onchange event to the controller, addressBook.addEvent(control, 'change', function(){ if(this.value != ''){ /* if there's a value, trigger getAddress */ addressBook.getAddress(this.value); } else { // otherwise empty the target addressBook.target.innerHTML = ''; } }); }, getAddress: function(id){ // the Ajax call // let's let the user know something is happening (see below) addressBook.buildLoader(); /* this is the function that is run once the Ajax call completes */ var fnWhenDone = function(oXML) { // get rid of the loader addressBook.killLoader(); // insert the returned address information into the target addressBook.target.innerHTML = oXML.responseText; }; // use XHConn's connect method addressBook.myConn.connect('index.php', 'POST', 'id='+id, fnWhenDone); }, buildLoader: function(){ // builds a loader // create a new div addressBook.loader = document.createElement('div'); // give it some style addressBook.loader.style.position = 'absolute'; addressBook.loader.style.top = '50%'; addressBook.loader.style.left = '50%'; addressBook.loader.style.width = '300px'; addressBook.loader.style.lineHeight = '100px'; addressBook.loader.style.margin = '-50px 0 0 - 150px'; addressBook.loader.style.textAlign = 'center'; addressBook.loader.style.border = '1px solid #870108'; addressBook.loader.style.background = '#fff'; // give it some text addressBook.loader.appendChild( » document.createTextNode( » 'Loading Data, please wait\u2026')); // append it to the body addressBook.body.appendChild(addressBook.loader); }, killLoader: function(){ // kills the loader // remove the loader form the body addressBook.body.removeChild(addressBook.loader); }, addEvent: function(obj, type, fn){ // the add event function if (obj.addEventListener) » obj.addEventListener(type, fn, false); else if (obj.attachEvent) { obj["e"+type+fn] = fn; obj[type+fn] = function() { obj["e"+type+fn](window.event); }; obj.attachEvent("on"+type, obj[type+fn]); } } }; addressBook.addEvent(window, 'load', function(){ addressBook.init('person', 'submit', 'address'); }); Добавлено через 1 минуту и 16 секунд А вот строчка из конфиг файл mime.types сервера application/x-javascript js |
| Автор: prog90 7.6.2009, 14:52 |
| Тогда такой вопрос Как проверить какие ошибки есть в javascript'е? Есть ли какое нить средство вроде компилятора? |