2011 18 лютого 2011

IE Javascript Помилка: Об'єкт не підтримує це властивість чи метод

Якщо б цей дивний питання, де шматок Javascript працювало у всіх браузер ANS як зазвичай IE бар :) Просто ... це було, але, оскільки сценарій був написаний не мною, потрібно якийсь час, щоб налагодити цей "Об'єкт не підтримує це властивість чи метод" помилки, які тільки IE рвало. Можливо! Якби я писав сценарій, я б не отримав цю помилку на всіх, а не змішувати мою імена змінних полів ідентифікаторів :).

Проблема: Об'єкт не підтримує це властивість чи метод (в рядку 3)

function funzoneSP(){ document.getElementById('video_id').style.visibility="hidden"; shortdesc = document.getElementById('shortdesc').value; .... } 

Рішення:
Помилка генерується на thirdrow в наведеному вище прикладі (3 лінії ... "shortdesc = document.getE ...."). Я перепробував усі роду дурниці, що я не варті навіть згадки тут і, нарешті, що ви думаєте! просто змінивши УАГ shortdesc на щось інше позбувся помилки. Основному! Ім'я змінної був відрізнятися від fieldID


2009 24 березня 2009

Відключено = "істина" та інвалідам = "помилкових" те ж саме?

Це ті, старі школи, але, як завжди, це моя пам'ять доповнення ...
Так відключено = "істина" та інвалідам = "помилкових" те ж саме? Так
... Не вірю, добре! Thats, так воно і є ... ось деякі швидкі пояснення ...
"Відключено" є атрибутом будь-якого елементу форми / поля і, отже, може приймати будь-які значення за своєю природою.

Поки цей атрибут присутній, елемент буде відключений незалежно від його вартості. наприклад, для.
<input type="text" value="This є disabled" disabled>
<input type="text" value="This є disabled" disabled="disabled">
<input type="text" value="This є disabled" disabled="true">
<input type="text" value="This є disabled" disabled="false">

Все вищеперелічене зробить це поле форми "Відключено".

Просто не надає атрибут "DISABLED" тримає в полі "інвалідами", як показано нижче ...

<input type="text" value="This НЕ disabled" />

Пам'ятайте, "будь-яке значення (або значення не у всіх) людей з обмеженими можливостями атрибут, браузер зробить його відключити». Для простоти в наших умах W3C рекомендує, що ми використовуємо відключені = "інвалідів" в таких ситуаціях.

Це відмінність, хоча, коли ми використовувати цей атрибут в JavaScript ...

document.form.element.disabled = true; / / елемент буде відключена
document.form.element.disabled = False / / елемент буде включений

Наведені вище міркування вірні і для цих атрибутів та елементів:

  • перевірити (перемикач і прапорець)
  • вибраний (опція)
  • NoWrap (TD)

2009 7 березня 2009

Виклик кількох OnLoad для Windows функції в Javascript

Херес ще один маленький peice обману Javascript, що мені довелося копирсатися, тому що ситуація commaned він. В одному з моїх веб-сайтів, у мене була ситуація, коли я повинен був здійснювати "windows.onload" в два рази. Перше, що б прийшли до недосвідчений розум, як у мене (у мене чесно сказати, що, оскільки я використовую JavaScript рамки і бібліотеки, я forgotton робити прості речі, на мій власний ... Сумно, але факт), є наступний метод ...

 window.onload = onloadfn1;
 window.onload = onloadfn2;
 window.onload = onloadfn3;
 і т.д. ..

Вибачте, що говорю, але це не буде працювати ... не хочу, щоб обговорити виконання науки Javascript багато ... але за моїми недавнім досвідом, тільки остання функція (onloadfn3) буде погано насправді будуть виконуватися.

У нормальній ситуації, на відміну від моєї (про які я розповім трохи пізніше) ... ви можете зробити одне з наступних дій, щоб виконати mutliple функції OnLoad ....

Або щось на зразок цього

 Функція doOnLoad () {
         onloadfn1 ();
         onloadfn2 ();
         onloadfn3 ();
 }
 window.onload = doOnLoad;

Для моєї нинішньої ситуації, я не можу використовувати будь-який з зазначених вище ...
Чому мені потрібно зателефонувати windows.onload двічі, а що виклик двох функцій в рамках однієї функції OnLoad? Ось швидкий погляд на мої постановки задачі ...

"Мої сторінки сайту структуровані як тема WORDPRESS .... тобто загальна header.php і footer.php, який отримує включені у всі сторінки сайту. Існує implementaion OnLoad функції в footer.php, щоб зробити деякі загальні функції OnLoad. І є кілька сторінок, які повинні щось своє OnLoad, крім тих, зробити загальні функції OnLoad. Якщо я призначити функцію зворотного виклику безпосередньо на window.onload обробник, він буде по-їхати раніше призначеного зворотного виклику в footer.php "

.... Моя проблема розуміється :) ?

Ну! Є кілька рішень, які я знайшов. Всі вони дуже схожі, і головним чином implementions вирішення даної Саймон Willison ( http://simonwillison.net/2004/May/26/addLoadEvent/ ) ...

Рішення:

Просто додайте цей код JavaScript на сайті ...

 Функція addLoadEvent (функції) {
     УАГ oldonload = window.onload;
     якщо (TypeOf window.onload! = 'функція') {
        window.onload = функція
     {} Інше
        window.onload = функція () {
            якщо (oldonload) {
                   oldonload ()
           }
           функції ()
        }
    }
 }

І називати його замість звичайного "windows.onload"

 addLoadEvent (FunctionToRunOnPageLoad);
 addLoadEvent (функція () {
 / * Більше коду, щоб запустити на сторінці завантаження *
 }); 

Переваги цей фрагмент коду ...
1. У першу чергу, це дозволяє мати кілька подій windows.onload, викликається з окремих частин коду, без overridding попереднє визначення
2. Це дуже ненав'язливо. Це може бути поміщений в файл з іншими сценаріями, або в окремому файлі.
3. Це працює, навіть якщо window.onload вже встановлений.


2008 25 грудня 2008

Завантаження JavaScripts Динамічно

Іноді, щоб зберегти pageweight вниз ... ми розбили наші сценарії на фрагменти ... Ці фрагменти JavaScript може бути завантажений як і в разі необхідності (за подією або після натискання на посилання або кнопку і т.д.).

Завантаження Javascripts динамічно простий і досить прямо вперед, як показано нижче ...

= “text/javascript” > <Сценарій тип = "текст / JavaScript">
Функція loadNewScript (джерело) {
Var S = document.createElement ('сценарію');
s.setAttribute («типу», «текст / JavaScript");
s.setAttribute («SRC», джерело);
document.body.appendChild (и);
}
</ SCRIPT>

і ви можете за наступним посиланням виклику в будь-яку точку тіла, або ви можете мати цей сценарій "OnLoad" самого документа ...

= “javascript:loadNewScript('myDynamicScript.js');” >Load Dynamic Script</ a > <A HREF = "javascript: loadNewScript ('myDynamicScript.js');"> Load Динамічний сценарій </ a>

або

<body onload="loadNewScript('myDynamicScript.js');">


2008 3 жовтня 2008

Простий, легкий, хрест Lightbox браузер для веб-сторінки

Не те, що є тільки кілька LightBox про те, що можна знайти, коли ви Google. Проблема з більшістю лайтбокси, що я виявив, що всі вони, здавалося, використання одного чи іншого важкого ваги JAVASCRIPT рамки як JQuery, Prototype, MooTools і любить. Це все здорово і шикарний вигляд. Але якщо ваша вимога "Але я хочу простий і легкий LightBox SCRIPT на моєму сайті", то тут;

Деякі цікаві особливості цього Лайтбокс

  1. Дуже легкий
    . 4kb скриптів, якщо вони упаковані (8 кб без упаковки)
    б. 2 Кб CSS
    в. Кілька рядків з HTML в обране контейнер
  2. Проста для розуміння і реалізації
  3. Може мати кілька лайтбокси на тій же сторінці.
  4. Те ж контейнер Лайтбокс використовується, щоб показати, різного змісту (яке окремо включений як прихованої підрозділів на сторінці), залежно від посилання / опція, яка була натиснута.
  5. Автоматично центрується, беручи до уваги всі чинники, такі як висота і ширина вікна (роздільна здатність екрану), стр. прокрутки кількість і висоту вмісту Лайтбокс
  6. Протестовано в IE 7 і FF

Переглянути демо |
Завантажити Lightbox Джерело Zip (Скачано 1786 раз)


Використання Lightbox [Файли архіву]

jo.js, jo_pack.js [упаковані версія]: - простий набір об'єктів JavaScript [JO], який містить елемент, вікна і скрипти документ позиціонування. Ви можете відкрити JO.JS, якщо ви хочете, щоб ваші руки брудні з деякими Розширений Javascripting, створення абстрактних функцій, розширення властивостей елемента тощо. Якщо ви не занадто багато в Javascripting, залиште його в спокої.

lightbox.js, lightbox_pack.js [упакованої версії]: - Містять світло сценарії менеджер вікна. Якщо ви розробник сторінки, а також відповідальність з реалізації обраного на сторінці, ви повинні розуміти, LightBoxManager. LightBoxManager в основному містить тільки дві функції showLightBox і closeLightBox.

lightbox.css: - Якщо ви знаєте, CSS, ви можете пограти з lightbox.css налаштувати зовнішній вигляд-н-відчувати lightbox.css

index.html: Приклад реалізації лайтбокс з двома різними зміст

lb_underlay_bkg.png: - Це світло / Сімі прозоре зображення, яке використовується для фону підкладки Лайтбокс [підкладка є шар нижче lighbox, яка дозволяє користувачеві натисканням будь-який інший об'єкт на сторінці, а лайтбокс відкрита]. Ви можете використовувати будь-яке зображення або навіть суцільний колір для цієї мети, в залежності від дизайну і вимог.

icon_lb_close.gif: - зображення для близьких ручки лайтбокс на верхній правій частині вікна світло. Можна використовувати будь-яке зображення як в дизайні

Переглянути демо |
Завантажити Lightbox Джерело Zip (Скачано 1786 раз)

Будь ласка, дайте нам ваші коментарі та відгуки ...


2008 13 вересня 2008

JavaScript: Редагувати веб-сторінки в браузері

Ну, треба сказати, не така корисна частина науки, але якщо ви веб-розробник, може стати в нагоді, коли-небудь (або буде?). Ось невеликий букмарклет, який дозволяє редагувати веб-сторінки, для будь-якого сайту.
А шкода! Ви можете зберігати результати на локальному комп'ютері тільки.

JavaScript: document.body.contentEditable = 'істинний'; document.designMode = 'на'; недійсними 0


2008 2 вересня 2008

CSS хак: JavaScript, CSS, HTML для Firefox тільки

Багато разів ми відчуваємо потребу писати браузер specfic хакі (хоча це не дуже гарна практика, ми інтерфейсу розробники змушені вдаватися до такої біди, поки великої війни браузерів йде про перемир'я). Раніше я згадував у цій статті для вашого ІП тільки , як написати фрагмент CSS, які були б видно IE браузерів <IE7 тільки.

Вчора у мене був випадок, коли я хотіла написати FireFox конкретні фрагменти CSS. Ну! Я не впевнений, якщо є код CSS для цього, але є HTML. Існує зловити, хоча, цей шматок HTML оленяча шкіра перевірки проходять HTML. Але, anywaz! Якщо ви застрягли чи погано, як такого, немає, що стосується для перевірки (інколи потрібно бути жорстоким), ви можете використовувати наступні оголосити посилання на FF тільки стилів або навіть просто код CSS всередині цього блоку. Код

<comment> Поставте FireFox тільки HTML / CSS / Scripts тут </ коментар>

наприклад,
<comment>
<style>
/ * Стилі для FF тільки * /
набір полів {кордону: 1px твердих # dddddd;}
</ Стиль>
</ Коментар>

Я "радий на даний момент ...


2008 1 вересня 2008

Видалити конкретний елемент з масиву JavaScript, який відповідає переданої рядка

Ось швидкий спосіб розширення рідному масиві Javascript Object, тільки для цього ...

Array.prototype. removeItem =function(str) {
for(i=0; i<this.length ; i++){
if(escape(this[i]).match(escape(str.trim()))){
this.splice(i, 1); break;
}
}
return this;
}

Отже, тепер ви можете зробити щось на зразок цього ...

var animals= new Array("dog","lion","cat","tiger","elephant");
animals. removeItem ('tiger');

Тепер тварини масив буде містити "собака", "лев", "кішка", "Слон";

PS: А ось рядки обробка Prototype теж ...

String.prototype.trim=function(str) {
str = this != window? this : str;
return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}


Насолоджуйтеся ....


2008 15 травня 2008

Передовий досвід: робота з JavaScript в

Включіть JavaScript в в нижній частині документа HTML

Якщо у вас немає document.write (або будь-динамічної генерації сторінок вмісту за допомогою сценаріїв JavaScript), щоб вставити частину вмісту сторінки в сценарії, перемістити сценарій включає заяву в нижній частині сторінки, до кінця BODY тег.
HTTP/1.1 специфікація припускає, що браузери завантажити не більше двох компонентів паралельно в ім'я хоста. Якщо ви служите зображення з декількох хостів, ви можете отримати більше двох завантажень відбуватися паралельно. У той час як сценарій завантаження, однак, браузер не буде запускатися будь-які інші завантаження, навіть на різні імена.
Існують також способи динамічно створювати SCRIPT вузлів і завантажити віддалений скрипт після завантаження сторінки за допомогою AJAX.

Externalise ви в JavaScript

Використання зовнішніх файлів JavaScript призведе до більш швидкого завантаження сторінок, оскільки JavaScript файли кешуються в браузері. "Вбудовані JavaScript в HTML-документах отримати скачали кожен раз, коли HTML-документа запиту. Це може дійсно зменшити кількість запитів HTTP зроблено, але згодом збільшує розмір HTML-документа. Зовнішній JavaScript є кеші браузера, розмір документа HTML зменшується, не збільшуючи число запитів HTTP.
Зверніть увагу, що, якщо користувачі на вашому сайті є кілька переглядів сторінок за сеанс, і багато хто з ваших сторінок повторно використовувати ті ж скрипти і таблиці стилів, є велика потенційна вигода від кешовані зовнішні файли.

Пакет Ваші файли Javascript

У разі JavaScripts, на відміну від CSS, файли можуть хрустів, використовуючи деякі стандартні алгоритми, що дасть зменшення розміру файла, ніж просто видалення пробілів і табуляції. Приклад JavaScript-пакувальник може бути знайдений тут http://dean.edwards.name/packer/

Позбутися від будь-яких повторюваних сценаріїв

Це дуже незвично, що весь скрипти можуть бути дубльовані, але огляд в десятку найбільших американських сайтів показує, що дві з них містять дублює сценарій. Дублікат скриптів, але, очевидно, знижує продуктивність, створюючи непотрібні запити HTTP і даремно JavaScript виконання.
Крім того, у багатьох випадках, хоча сценарії імена різні, є ймовірність сценаріїв-дублікатів в межах однієї сторінки через розмір команди і кількість сценаріїв.

Згорнути доступ до DOM елементів, де можливо

Доступ до DOM елементів JavaScript повільно так, щоб мати більш гнучку сторінку, ви повинні:
• Кеш посилання на доступ до елементів
• Оновлення вузлів "автономному режимі", а потім додати їх в дерево
• Уникайте кріплення макету з JavaScript

Окремі поведінки від змісту і подання

Так само, як окрема презентація (CSS / XSLT) від вмісту (XHTML / XML), ми повинні відокремити поведінки (JavaScript). Це називається ненав'язливий Javascript. Так само, як посилання на зовнішні файли CSS, ми повинні посилання на зовнішні файли JavaScript.

Замість жорсткого кодування поведінки в зміст (наприклад, OnMouseOver, OnClick і т.д.), поведінка повинна бути динамічно додані елементи, класи та унікальні елементи (ID) за допомогою DOM. Основоположний документ, зміст, повинно містити тільки допустимі XHTML / XML і не JavaScript.
Javascript повинні збільшити зміст, додавши поведінки. Зміст повинен залишатися корисним і використовувати без JavaScript (або без повної підтримки JavaScript).


2008 15 березня 2008

Дратує Вибір коробки видно через Popup відділи

У ряді випадків, при цьому макети сторінок з спливаюче підрозділів / лайтбокси / Поради т.д. ми стикаємося з ситуаціями, коли деякі форми Вибір об'єктів виявляється в цих POPUP відділів, дизайн, і це показує через .... YUK!

Ну! Ви можете легко виправити, регулюючи Z-INDEX значення відповідно для FF та IE7. Але старі добрі (каламбур) IE6 поводиться не за призначенням .... Виберіть Показати BOX кінця, навіть після встановлення деяких радикально високий Z-INDEX значень в PopUp відділу ... облом!

Є NO виправлення цієї проблеми, але є, я думаю, більше, ніж кілька дорозі на роботу, вирішити цю проблему, але їм тут, щоб сказати вам просте рішення, яке я використовую, яке відмінно працює для мене, в більшості випадків ....

"ПРИХОВАТИ BOX ROUGE SELECT, коли ви показуєте POPUP"

Просто у вашому скрипті фрагмент, де ви показуєте ваші спливаючі вікна, додати шматочок сценарію створити видимість вікні Вибір "Невидимий"

document.getElementById ('my_select) style.visibilty = "приховані".

І пам'ятайте, щоб встановити його при закритті спливаючих відділу

. Document.getElementById ('my_select) style.visibilty = "видимий";

де "my_select" є ідентифікатором роздратування вікні Вибір

Сподіваюся, що це допомагає ...

PS. Є звичайно ж і інші варіанти, як динамічно positionining IFRAME (такий же розмір, як ви PopUp) в Popup DIV ... Це теж добре працює, але з додаванням навантажень DOM елементи, скрипти і головний біль. Я використав це рішення теж, і якщо ви потребуєте якоїсь допомоги з цією опцією, дайте мені знати. Будемо раді допомогти!


NDK будинку | Висловлюючи IT | Висловлюючи неба | Висловлюючи Penmenship | Висловлюючи трепет | виразити себе