Javascript ошибка предполагается наличие

Случаи возникновения ошибки в IE: "Предполагается наличие идентификатора, строки или числа" (Expected identifier, string...) Разбираемся отчего может возникать ошибка только в Internet Explorer:  «Предполагается наличие идентификатора, строки или числа» (Expected identifier, string or number).

Рассмотрим код в котором возникает ошибка. Причём ошибка только в браузере IE (у меня IE8), в остальных браузерах с этим нормально.

Неправильно:

...
delete : function() {   // delete в кавычках, чтобы работало в IE!
               if(confirm('Совсем-совсем удалить эту запись?')) {
...
                  delEvent(calEvent); // удаляем из БД при редактировании
                  $dialogContent.dialog("close");
                  }
},
cancel : function() {
$dialogContent.dialog("close");
}, // <-- здесь не должно быть запятой
}
	        }).show();

Это первый случай ошибки, который много где уже описан. Когда заканчивается перечисление переменных, то после последнего элемента не нужно ставить запятую. Internet Explorer считает это ошибкой и вообще не будет выполнять весь код, не откроет сайт (календарь FullCalendar в моём случае).

Но даже удалив запятую, ошибка не исчезнет. Именно этот случай у меня и возник (запятую ткнул для общности решения проблемы). При просмотре текста ошибки:

Error: Предполагается наличие идентификатора, строки или числа ( Expected identifier, string or number” )

Оказывается в браузере Internet Explorer слово delete — зарезервированное слово и просто так вводить переменную delete нельзя. Решение проблемы: заключить в одинарные кавычки, вот так — ‘delete’.

Правильный код, который будет работать в IE:

...
'delete' : function() {   // delete в кавычках, чтобы работало в IE!
               if(confirm('Совсем-совсем удалить эту запись?')) {
...
                  delEvent(calEvent); // удаляем из БД при редактировании
                  $dialogContent.dialog("close");
                  }
},
cancel : function() {
$dialogContent.dialog("close");
}
}
       }).show();

stackoverflow.com — это очень толковый и крупный ресурс, лично я решил с его помощью около 70-80% всех своих косяков, хотя сначала не верил в его силу; только придётся перевести проблему и сформулировать на английском.

———————-

Using the word class as a key in a Javascript dictionary can also trigger the dreaded «Expected identifier, string or number» error because class is a reserved keyword in Internet Explorer.

BAD

{ class : 'overlay'} // ERROR: Expected identifier, string or number

GOOD

{'class': 'overlay'}

When using a reserved keyword as a key in a Javascript dictionary, enclose the key in quotes.

Hope this hint saves you a day of debugging hell.

————————

А здесь можно видеть список зарезервированных слов, чтобы уже не натыкаться (как видим save и close сюда не входят, поэтому их можем не брать в кавычки).

Список зарезервированных переменных для JavaScript, избегайте называть переменные зарезервированными словами!

abstract   else   instanceof   super  
boolean   enum   int   switch  
break   export   interface   synchronized  
byte   extends   let   this  
case   false   long   throw  
catch   final   native   throws  
char   finally   new   transient  
class   float   null   true  
const   for   package   try  
continue   function   private   typeof  
debugger   goto   protected   var  
default   if   public   void  
delete   implements   return   volatile  
do   import   short   while  
double   in   static   with  

Что не нравится IE11?

var jsFunctionLinks = document.querySelectorAll('[class="js-function-copytocb"]');
for (let jsFunctionLinksElem of jsFunctionLinks) {
  var jsFunctionLinksElemID = jsFunctionLinksElem.getAttribute('id');
  jsFunctionLinksElem.setAttribute('href', 'javascript:tbCopyToClipboard("' + jsFunctionLinksElemID + '")');
}

Ошибка райзится во 2 строке на 30 символе, в конструкции for (let jsFunctionLinksElem of jsFunctionLinks){}

задан 25 мар 2021 в 18:10

Сергей Мельников's user avatar

10

Спасибо за комментарии, по вашим подсказкам сделал так:

Array.prototype.forEach.call(jsFunctionLinks, function (jsFunctionLinksElem) {
  var jsFunctionLinksElemID = jsFunctionLinksElem.getAttribute('id');
  jsFunctionLinksElem.setAttribute('href', 'javascript:tbCopyToClipboard("' + jsFunctionLinksElemID + '")');
});

ответ дан 26 мар 2021 в 3:41

Сергей Мельников's user avatar

Старый

25.08.2012, 05:05

Аватар для FINoM

Новичок

Отправить личное сообщение для FINoM

Посмотреть профиль

Найти все сообщения от FINoM

 

Регистрация: 05.09.2010

Сообщений: 2,298

Предполагается наличие ‘;’ в IE7-

Не могу понять, IE7, 6, 5.5 (не спрашивайте, зачем, сам не в курсе, ребят) выдают одну и ту же ошибку

SCRIPT1004: Предполагается наличие ';'
index.html, строка 1 символ 72

Причем, скриптов на странице нет вообще, ошибка повторяется (строка, символ) вне зависимости от того, что я пишу. Кодировку менял (ANSI, UTF-8, UTF-8 without BOM), не помогает. Доктайп менял, убирал, тоже не помогает. Некоторые браузеры настроены так, что вместо рендеринга страницы появляется огромное окно с ошибкой, что очень критично в данном случае:

(кстати, как видно, в англоязычной версии браузера, символ не 62, а 72).

(Только не спрашивайте, зачем мне это. Всё равно не скажу.)



Последний раз редактировалось FINoM, 25.08.2012 в 05:14.

Ответить с цитированием

Старый

25.08.2012, 05:13

Аватар для FINoM

Новичок

Отправить личное сообщение для FINoM

Посмотреть профиль

Найти все сообщения от FINoM

 

Регистрация: 05.09.2010

Сообщений: 2,298

Нет, в русскоязычной версии тоже ошибка на 72 символе есть:
За одну загрузку выдаются такие ошибки:

SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62

Ответить с цитированием

Старый

25.08.2012, 05:50

Аватар для Aetae

Тлен

Отправить личное сообщение для Aetae

Посмотреть профиль

Найти все сообщения от Aetae

 

Регистрация: 02.01.2010

Сообщений: 6,431

FINoM, вы вроде давно на форуме. Должны бы уже понять, что по фотографии тут не лечат. Порчу тоже не снимают.

__________________

29375, 35

Ответить с цитированием

Старый

25.08.2012, 05:56

Аватар для FINoM

Новичок

Отправить личное сообщение для FINoM

Посмотреть профиль

Найти все сообщения от FINoM

 

Регистрация: 05.09.2010

Сообщений: 2,298

FINoM, вы вроде давно на форуме. Должны бы уже понять, что по фотографии тут не лечат. Порчу тоже не снимают.

А что мне показать? Хоть пустые строки там оставь, всё равно ошибка будет иметься. Предполагаю, что у кого-то когда-то был подобная проблема (у меня уже была, но тогда я просто забивал). Завтра попробую удалять по частям код, посмотрим что выйдет.

Ответить с цитированием

Старый

25.08.2012, 06:17

Аватар для Aetae

Тлен

Отправить личное сообщение для Aetae

Посмотреть профиль

Найти все сообщения от Aetae

 

Регистрация: 02.01.2010

Сообщений: 6,431

Где там то?

Если на абсолютно пустом html’e в 0байт такое происходит, то глюк либо с конкретно вашим ie(на других страницах он как себя ведёт?) — что вероятнее, либо с сервером(видел хитрый способ подключения доп файлов с помощью заголовков, при этом view source показывает пустую страницу).

Если же не пустом, то очевидно что проблема где-то в коде. 6-7 осёл не умеет называть праильные строки с ошибкой. Запустите 9ый в режиме седьмого — там вполне нормальный отадчик.

__________________

29375, 35

Ответить с цитированием

Старый

25.08.2012, 15:05

Аватар для FINoM

Новичок

Отправить личное сообщение для FINoM

Посмотреть профиль

Найти все сообщения от FINoM

 

Регистрация: 05.09.2010

Сообщений: 2,298

Проблема была в таблице стилей, которая содержалась в отдельном файле. Люблю ИЕ за информативность. Строка, вызывающая ошибку:

z-index: expression( parentNode.firstChild ? ( className += " first-child" ) : 0 ) );

(да, я не умею пользоваться хаками )

Ответить с цитированием

Some users are reporting occasional JS errors on my site. The error message says «Expected identifier, string or number» and the line number is 423725915, which is just an arbitrary number and changes for each report when this occurs.
This mostly happens with IE7/ Mozilla 4.0 browsers.

I scanned my code a bunch of times and ran jslint but it didn’t pick anything up — anyone know of the general type of JS problems that lead to this error message?

asked Jan 27, 2010 at 19:40

psychotik's user avatar

psychotikpsychotik

38.2k34 gold badges100 silver badges135 bronze badges

3

The cause of this type of error can often be a misplaced comma in an object or array definition:

var obj = {
   id: 23,
   name: "test",  <--
}

If it appears at a random line, maybe it’s part of an object defintion you are creating dynamically.

answered Jan 27, 2010 at 19:49

amercader's user avatar

7

Using the word class as a key in a Javascript dictionary can also trigger the dreaded «Expected identifier, string or number» error because class is a reserved keyword in Internet Explorer.

BAD

{ class : 'overlay'} // ERROR: Expected identifier, string or number

GOOD

{'class': 'overlay'}

When using a reserved keyword as a key in a Javascript dictionary, enclose the key in quotes.

Hope this hint saves you a day of debugging hell.

answered Jan 11, 2012 at 5:29

Roy Hyunjin Han's user avatar

Roy Hyunjin HanRoy Hyunjin Han

4,7452 gold badges30 silver badges23 bronze badges

6

Actually I got something like that on IE recently and it was related to JavaScript syntax «errors». I say error in quotes because it was fine everywhere but on IE. This was under IE6. The problem was related to JSON object creation and an extra comma, such as

{ one:1, two:2, three:3, }

IE6 really doesn’t like that comma after 3. You might look for something like that, touchy little syntax formality issues.

Yeah, I thought the multi-million line number in my 25 line JavaScript was interesting too.

Good luck.

answered Jan 27, 2010 at 19:48

cjstehno's user avatar

cjstehnocjstehno

13.5k4 gold badges44 silver badges56 bronze badges

1

This is a definitive un-answer: eliminating a tempting-but-wrong answer to help others navigate toward correct answers.

It might seem like debugging would highlight the problem. However, the only browser the problem occurs in is IE, and in IE you can only debug code that was part of the original document. For dynamically added code, the debugger just shows the body element as the current instruction, and IE claims the error happened on a huge line number.

Here’s a sample web page that will demonstrate this problem in IE:

<html>
<head>
<title>javascript debug test</title>
</head>
<body onload="attachScript();">
<script type="text/javascript">
function attachScript() {
   var s = document.createElement("script");
   s.setAttribute("type", "text/javascript");
   document.body.appendChild(s);
   s.text = "var a = document.getElementById('nonexistent'); alert(a.tagName);"
}
</script>
</body>

This yielded for me the following error:

Line: 54654408
Error: Object required

answered Jan 27, 2010 at 19:52

ErikE's user avatar

ErikEErikE

48.9k23 gold badges151 silver badges196 bronze badges

1

Just saw the bug in one of my applications, as a catch-all, remember to enclose the name of all javascript properties that are the same as keyword.

Found this bug after attending to a bug where an object such as:

var x = { class: 'myClass', function: 'myFunction'};

generated the error (class and function are keywords)
this was fixed by adding quotes

var x = { 'class': 'myClass', 'function': 'myFunction'};

I hope to save you some time

answered Sep 6, 2013 at 21:26

Josue Alexander Ibarra's user avatar

1

As noted previously, having an extra comma threw an error.

Also in IE 7.0, not having a semicolon at the end of a line caused an error. It works fine in Safari and Chrome (with no errors in console).

answered Aug 11, 2011 at 18:30

B Seven's user avatar

B SevenB Seven

44.6k66 gold badges242 silver badges386 bronze badges

IE7 is much less forgiving than newer browsers, especially Chrome. I like to use JSLint to find these bugs. It will find these improperly placed commas, among other things. You will probably want to activate the option to ignore improper whitespace.

In addition to improperly placed commas, at this blog in the comments someone reported:

I’ve been hunting down an error that only said «Expected identifier»
only in IE (7). My research led me to this page. After some
frustration, it turned out that the problem that I used a reserved
word as a function name («switch»). THe error wasn’t clear and it
pointed to the wrong line number.

answered Aug 13, 2011 at 0:34

Muhd's user avatar

MuhdMuhd

24.4k22 gold badges62 silver badges79 bronze badges

This error occurs when we add or missed to remove a comma at the end of array or in function code. It is necessary to observe the entire code of a web page for such error.

I got it in a Facebook app code while I was coding for a Facebook API.

<div id='fb-root'>
    <script type='text/javascript' src='http://connect.facebook.net/en_US/all.js'</script>
    <script type='text/javascript'>
          window.fbAsyncInit = function() {
             FB.init({appId:'".$appid."', status: true, cookie: true, xfbml: true});            
             FB.Canvas.setSize({ width: 800 , height: 860 , }); 
                                                       // ^ extra comma here
          };
    </script>

indiv's user avatar

indiv

17.3k6 gold badges62 silver badges82 bronze badges

answered Jun 26, 2013 at 9:32

Tousif Jamadar's user avatar

0

This sounds to me like a script that was pulled in with src, and loaded just halfway, causing a syntax error sine the remainder is not loaded.

answered Jan 27, 2010 at 19:44

Roland Bouman's user avatar

Roland BoumanRoland Bouman

31.2k6 gold badges66 silver badges67 bronze badges

IE7 has problems with arrays of objects

columns: [
{
  field: "id",
  header: "ID"
},
{
  field: "name",
  header: "Name" , /* this comma was the problem*/ 
},
...

answered Feb 5, 2013 at 16:55

Stefan Michev's user avatar

Stefan MichevStefan Michev

4,8053 gold badges35 silver badges30 bronze badges

Another variation of this bug: I had a function named ‘continue’ and since it’s a reserved word it threw this error. I had to rename my function ‘continueClick’

answered Apr 3, 2013 at 19:20

Kevin Audleman's user avatar

Maybe you’ve got an object having a method ‘constructor’ and try to invoke that one.

answered Apr 24, 2014 at 13:49

Niels Steenbeek's user avatar

Niels SteenbeekNiels Steenbeek

4,6922 gold badges41 silver badges50 bronze badges

You may hit this problem while using Knockout JS. If you try setting class attribute like the example below it will fail:

<span data-bind="attr: { class: something() }"></span>

Escape the class string like this:

<span data-bind="attr: { 'class': something() }"></span>

My 2 cents.

answered Jun 11, 2015 at 15:22

iDevGeek's user avatar

iDevGeekiDevGeek

4645 silver badges4 bronze badges

I too had come across this issue. I found below two solutions.
1). Same as mentioned by others above, remove extra comma from JSON object.
2). Also, My JSP/HTML was having . Because of this it was triggering browser’s old mode which was giving JS error for extra comma. When used it triggers browser’s HTML5 mode(If supported) and it works fine even with Extra Comma just like any other browsers FF, Chrome etc.

answered Aug 5, 2015 at 22:55

1

Here is a easy technique to debug the problem:
echo out the script/code to the console.
Copy the code from the console into your IDE.
Most IDE’s perform error checking on the code and highlight errors.
You should be able to see the error almost immediately in your JavaScript/HTML editor.

answered Jan 22, 2016 at 2:57

hisenberg's user avatar

hisenberghisenberg

1491 silver badge5 bronze badges

Had the same issue with a different configuration. This was in an angular factory definition, but I assume it could happen elsewhere as well:

angular.module("myModule").factory("myFactory", function(){
    return
    {
        myMethod : function() // <--- error showing up here
        {
            // method definition
        } 
    }
});

Fix is very exotic:

angular.module("myModule").factory("myFactory", function(){
    return { // <--- notice the absence of the return line
        myMethod : function()
        {
            // method definition
        } 
    }
});

answered Feb 19, 2016 at 9:59

anaitslimane's user avatar

This can also happen in Typescript if you call a function in middle of nowhere inside a class. For example

class Dojo implements Sensei {
     console.log('Hi'); // ERROR Identifier expected.
     constructor(){}
}

Function calls, like console.log() must be inside functions. Not in the area where you should be declaring class fields.

answered Feb 19, 2019 at 22:44

rayray's user avatar

rayrayrayray

1,6251 gold badge9 silver badges15 bronze badges

Typescript for Windows issue

This works in IE, chrome, FF

export const OTP_CLOSE = { 'outcomeCode': 'OTP_CLOSE' };

This works in chrome, FF, Does not work in IE 11

export const OTP_CLOSE = { outcomeCode: 'OTP_CLOSE' };

I guess it somehow related to Windows reserved wordsenter image description here

answered Nov 15, 2019 at 21:58

Lev Savranskiy's user avatar

Lev SavranskiyLev Savranskiy

4222 gold badges7 silver badges19 bronze badges

Artishok

ЧакЭ одобряЭ

285 / 284 / 86

Регистрация: 27.12.2009

Сообщений: 1,767

1

Ошибка «Предполагается наличие объекта»

14.02.2013, 21:42. Показов 12511. Ответов 1

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

в рамках лабы нужно сделать так чтобы можно было создать каталог, копировать его и удалить используя ActiveX.

я вроде бы написал все верно. запускаю через Internet Explorer 8 — все время ругается что «предполагается наличие объекта». — строка 42 символ 1.
но я не могу понять в чем ошибка! я решил удалить 8 и установить 7 — ошибка та же.

в чем проблема?

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<html>
    <head>
        <meta charset="utf-8">
        <script type="text/javasript">
            function onFolder(){
                var ob = new ActiveXObject("Scripting.FileSystemObject");
                var name = document.getElementById("idtextbox1").value;
                var path = document.getElementById("idtextbox2").value;
                var x = path + "\" + name;
                alert(x);
                return x;
            }
            function onCreate(){
                alert("try to create object");
                var ob = new ActiveXObject("Scripting.FileSystemObject");
                alert("try to create path to folder");
                var path = onFolder();
                alert("try to create folder");
                var x = ob.CreateFolder(path);
            }
            function onCopy(){
                var ob = new ActiveXObject("Scripting.FileSystemObject");           
                var source = onFolder();
                var dest = document.getElementById("idtextbox3").value;
                ob.CopyFolder(source,dest + "\");
            }
            function onDelete(){
                var ob = new ActiveXObject("Scripting.FileSystemObject");
                var folder = onFolder();
                ob.DeleteFolder(folder);
            }
        </script>
    </head>
    <body>
        Имя папки для создания<input type="text" id="idtextbox1">
        <br>
        Проверка пути<input type="file" id="filer"><br>
        Путь к папке в которой создают<input type="text" id="idtextbox2">
        <br>
        Путь к папке в которую скопируют<input type="text" id="idtextbox3">
        <br>
        <input type="button" id="idbutton1" value="Создать" onClick="onCreate()">
        <input type="button" id="idbutton2" value="Копировать" onClick="onCopy()">
        <input type="button" id="idbutton3" value="Удалить" onClick="onDelete()">
    </body>
</html>

0

Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

14.02.2013, 21:42

Ответы с готовыми решениями:

Как написать регулярное выражение для выдергивания английских букв и символов: «+», «,», «:», «-«, » «, «!», «?» и «.»
Не могу ни как собразить как написать регулярное выражение для выдергивания английских букв и…

Получить значение из {«text1″:»val1″,»text2″:»val2″,»text3»:{«text»:»val»}}
Есть такая строка
var my = ‘{&quot;text1&quot;:&quot;val1&quot;,&quot;text2&quot;:&quot;val2&quot;,&quot;text3&quot;:{&quot;text&quot;:&quot;val&quot;}}’;
Как из…

Создание браузерной CAD, «math scetchpad», «Geogebra», «Живая геометрия»»
Создаю браузерную версию CAD системы, для обучения школьников стереометрии и планиметрии, что-то…

Создать программу такую, что пользователь вводит число, а мы ему выдаём «-лет» или «-год» «-года»
4)Создать программу такую, что пользователь вводит число, а мы ему выдаём &quot;-лет&quot; или &quot;-год&quot; &quot;-года&quot;.

1

newJS

Эксперт JSЭксперт HTML/CSS

2435 / 1114 / 312

Регистрация: 23.06.2011

Сообщений: 3,525

15.02.2013, 10:24

2

Лучший ответ Сообщение было отмечено Artishok как решение

Решение

тут книжку дерни

делал в hta, чтобы глупых вопросов не было
еще надо проверять флаги, иначе могут быть ошибки, дело муторное, мне лень
больше всего заморочек может быть с удалением

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<title>w121</title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
<link rel="stylesheet" type="text/css" href="test_1.css">
<script type="text/javascript" src="test_1.js"></script>
<hta:application windowstate="maximize"></hta:application>
</head>
 
<body>
 
<div>в рамках лабы нужно сделать так чтобы можно было создать каталог, копировать его и удалить используя ActiveX.<br>
я вроде бы написал все верно. запускаю через Internet Explorer 8 - все время ругается что "предполагается наличие объекта". - строка 42 символ 1.</div>
<br><br>
Имя папки для создания <input type="text" id="idtextbox1" value="news_folder">
<br>
Проверка пути <input type="file" id="filer"><br>
Путь к папке в которой создают <input type="text" id="idtextbox2" value="i:/pics/tyt/">
<br>
Путь к папке в которую скопируют <input type="text" id="idtextbox3" value="i:/pics/tyt_3/">
<br>
Путь к папке в которую скопируют <input type="text" id="idtextbox4" value="i:/pics/tyt/news_folder">
<br>
<input type="button" id="idbutton1" value="Создать">
<input type="button" id="idbutton2" value="Копировать">
<input type="button" id="idbutton3" value="Удалить">
 
</body>
</html>
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
(function(){
var Q, d, fso;
Q={};
d=document;
fso=new ActiveXObject("Scripting.FileSystemObject");
 
 
 
onload=function(){
d.getElementById("idbutton1").onclick=createF;
d.getElementById("idbutton2").onclick=copyF;
d.getElementById("idbutton3").onclick=deleteF;
getFolder();
 };
 
function createF(){
var f;
f=fso.FolderExists(Q.wayF+Q.wayN);//есть ли такая папка
//alert(Q.wayF+Q.wayN);
if(!f){
fso.CreateFolder(Q.wayF+Q.wayN);
alert('По идее получилось.');}
else{alert('Такая папка уже есть, тебе зачем две одинаковые?');};
 
 };
 
function copyF(){
var f1, f2;
f1=fso.FolderExists(Q.wayF+Q.wayN);
f2=fso.FolderExists(Q.wayC+Q.wayN);
//alert((Q.wayF+Q.wayN)+'n'+(Q.wayC));
if(f1&&!f2){
fso.CopyFolder(Q.wayF+Q.wayN, Q.wayC);
alert('Хозяин, похвали меня, у меня всё получилось.');}
else{
f1=f1?"":'Нет папки для копирования.n';
f2=f2?'Папка уже существует.':"";
alert(f1+f2);};
 };
 
function deleteF(){
var f;
f=fso.FolderExists(Q.wayD);
if(f){fso.DeleteFolder(Q.wayD);
alert('Странные вы существа, люди, сначала создали теперь удалили.');}
else{alert('Папка не существует.');};
 
 };
 
function getFolder(){
Q.wayN=d.getElementById("idtextbox1").value;
Q.wayF=d.getElementById("idtextbox2").value.replace(/\/g, "/");
Q.wayC=d.getElementById("idtextbox3").value.replace(/\/g, "/");
Q.wayD=d.getElementById("idtextbox4").value.replace(/\/g, "/");
 };
 
 
 })();

1

Номер
Описание

5
Invalid procedure call or argument
Недопустимый вызов или аргумент процедуры

6
Overflow
Переполнение

7
Out of memory
Недостаточно памяти

9
Subscript out of range
Индекс выходит за пределы допустимого диапазона

10
This array is fixed or temporarily locked
Массив имеет фиксированную длину или временно блокирован

11
Division by zero
Деление на 0

13
Type mismatch
Несоответствие типа

14
Out of string space
Недостаточно памяти для строки

17
Can’t perform requested operation
Невозможно выполнить требуемую операцию

28
Out of stack space
Недостаточно места в стеке

35
Sub or Function not defined
Процедура Sub или Function не определена

48
Error in loading DLL
Ошибка при загрузке DLL

51
Internal error
Внутренняя ошибка

52
Bad file name or number
Недопустимое имя или номер файла

53
File not found
Файл не найден

54
Bad file mode
Недопустимый режим файла

55
File already open
Файл уже открыт

57
Device I/O error
Ошибка устройства ввода-вывода

58
File already exists
Файл уже существует

61
Disk full
Диск переполнен

62
Input past end of file
Ввод данных за пределами файла

67
Too many files
Слишком много файлов

68
Device unavailable
Нет доступа к устройству

70
Permission denied
Разрешение отклонено

71
Disk not ready
Диск не готов

74
Can’t rename with different drive
Невозможно переименование с другим именем диска

75
Path/File access error
Ошибка доступа к файлу/каталогу

76
Path not found
Путь не найден

91
Object variable or With block variable not set
Объектная переменная или переменная блока With не задана

92
For loop not initialized
Цикл For не инициализирован

94
Invalid use of Null
Недопустимое использование Null

322
Can’t create necessary temporary file
Невозможно создание требуемого временного файла

424
Object required
Требуется объект

429
Automation server can’t create object
Невозможно создание объекта сервером программирования объектов

430
Class doesn’t support Automation
Класс не поддерживает программирование объектов

432
File name or class name not found during Automation operation
Не найдено имя файла или класса при операции программирования объектов

438
Object doesn’t support this property or method
Объект не поддерживает это свойство или метод

440
Automation error
Ошибка программирования объектов

445
Object doesn’t support this action
Команда не поддерживается объектом

446
Object doesn’t support named arguments
Объект не поддерживает именованные аргументы

447
Object doesn’t support current locale setting
Объект не поддерживает текущую национальную настройку

448
Named argument not found
Именованный аргумент не найден

449
Argument not optional
Обязательный аргумент

450
Wrong number of arguments or invalid property assignment
Недопустимое число аргументов или присвоение значения свойства

451
Object not a collection
Объект не является семейством

453
Specified DLL function not found
Указанная функция DLL не найдена

458
Variable uses an Automation type not supported in JScript
Переменная использует не поддерживаемый в JScript тип программирования объектов

462
The remote server machine does not exist or is unavailable
Удаленный сервер не существует или недоступен

501
Cannot assign to variable
Присвоение значения переменной невозможно

502
Object not safe for scripting
Применение объекта в сценариях небезопасно

503
Object not safe for initializing
Инициализация объекта небезопасна

504
Object not safe for creating
Создание объекта небезопасно

507
An exception occurred
Произошло исключение

4096
Microsoft JScript compilation error
Ошибка компиляции Microsoft JScript

4097
Microsoft JScript runtime error
Ошибка выполнения Microsoft JScript

4098
Unknown runtime error
Неизвестная ошибка выполнения

5000
Cannot assign to ‘this’
Невозможно присвоение значения ‘this’

5001
Number expected
Предполагается наличие числа

5002
Function expected
Предполагается наличие функции

5003
Cannot assign to a function result
Невозможно присвоение результату функции

5004
Cannot index object
Невозможно индексирование объекта

5005
String expected
Предполагается наличие строки

5006
Date object expected
Предполагается наличие объекта-даты

5007
Object expected
Предполагается наличие объекта

5008
Illegal assignment
Недопустимое присвоение

5009
Undefined identifier
Неопределенный идентификатор

5010
Boolean expected
Предполагается наличие логического значения

5011
Can’t execute code from a freed script
Не удается выполнить программу из освобожденного сценария

5012
Object member expected
Предполагается наличие компонента объекта

5013
VBArray expected
Предполагается наличие VBArray

5014
JScript object expected
Предполагается наличие объекта JScript

5015
Enumerator object expected
Предполагается наличие объекта Enumerator

5016
Regular Expression object expected
Предполагается наличие объекта регулярного выражения

5017
Syntax error in regular expression
Ошибка синтаксиса в регулярном выражении

5018
Unexpected quantifier
Неизвестный числовой показатель

5019
Expected ‘]’ in regular expression
Предполагается наличие ‘]’ в регулярном выражении

5020
Expected ‘)’ in regular expression
Предполагается наличие ‘)’ в регулярном выражении

5021
Invalid range in character set
Недопустимый диапазон в наборе символов

5022
Exception thrown and not caught
Исключение сгенерировано и не обработано

5023
Function does not have a valid prototype object
Функция не имеет правильного объекта- прототипа

5024
The URI to be encoded contains an invalid character
Кодируемый URI содержит недопустимый символ

5025
The URI to be decoded is not a valid encoding
Декодируемый URI имеет неверную кодировку

5026
The number of fractional digits is out of range
Недопустимое число цифр дробной части

5027
The precision is out of range
Недопустимое значение точности

5028
Array of arguments object expected
Предполагается наличие объекта массив аргументов

5029
Array length must be a finite positive integer
Длина массива должна быть целым положительным числом

5030
Array length must be assigned a finite positive number
Длине массива должна быть присвоено целое положительное число

5031
Array object expected
Предполагается наличие объекта Array

Есть переменная var name = name();
Запускает функцию :

function name(){
    var random = WScript.CreateObject("System.Random");
    var count_lit = random.Next_2(2, 10);

    var name_i;

    for (var i = 0; i < count_lit; i++){
        name_i += name_builder(name_i);
    }

    return name_i;
}

В которой перенаправление на функцию:

function name_builder(name){
    var random = WScript.CreateObject("System.Random");
    var number_or_litr = random.Next_2(1, 2);
    // 1 - litr; 2 - number
        if(number_or_litr == 1){
            var abets = random.Next_2(1, 26);
            var litera;
            switch(abets){
                case 1:
                            litera = "a";
                ... 

                case 26:
                            litera = "z";
            };
            var Big_or_mini = random.Next_2(1, 2);
            // 1 - big; 2 - mini 
            if(Big_or_mini == 1){
                name+= litera.toUpperCase();
            }
            else{
                name+= litera;
            }
        }
        else{
            name+= random.Next_2(0, 9).toString();
        }

    return name;
}

Задача скрипта — выдавать «Random» название.
При запуске скрипта возникает ошибка

«Строка: 101» — это мое указание переменной var name = name()

«Символ: 3»

«Ошибка: Предполагается наличие объекта»

Кручу — верчу, а понять не могу. Спасибо!

Старый

25.08.2012, 05:05

Аватар для FINoM

Новичок

Отправить личное сообщение для FINoM

Посмотреть профиль

Найти все сообщения от FINoM

 

Регистрация: 05.09.2010

Сообщений: 2,298

Предполагается наличие ‘;’ в IE7-

Не могу понять, IE7, 6, 5.5 (не спрашивайте, зачем, сам не в курсе, ребят) выдают одну и ту же ошибку

SCRIPT1004: Предполагается наличие ';'
index.html, строка 1 символ 72

Причем, скриптов на странице нет вообще, ошибка повторяется (строка, символ) вне зависимости от того, что я пишу. Кодировку менял (ANSI, UTF-8, UTF-8 without BOM), не помогает. Доктайп менял, убирал, тоже не помогает. Некоторые браузеры настроены так, что вместо рендеринга страницы появляется огромное окно с ошибкой, что очень критично в данном случае:

(кстати, как видно, в англоязычной версии браузера, символ не 62, а 72).

(Только не спрашивайте, зачем мне это. Всё равно не скажу.)



Последний раз редактировалось FINoM, 25.08.2012 в 05:14.

Ответить с цитированием

Старый

25.08.2012, 05:13

Аватар для FINoM

Новичок

Отправить личное сообщение для FINoM

Посмотреть профиль

Найти все сообщения от FINoM

 

Регистрация: 05.09.2010

Сообщений: 2,298

Нет, в русскоязычной версии тоже ошибка на 72 символе есть:
За одну загрузку выдаются такие ошибки:

SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 72
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62
SCRIPT1004: Предполагается наличие ';' 
index.html, строка 1 символ 62

Ответить с цитированием

Старый

25.08.2012, 05:50

Аватар для Aetae

Тлен

Отправить личное сообщение для Aetae

Посмотреть профиль

Найти все сообщения от Aetae

 

Регистрация: 02.01.2010

Сообщений: 6,372

FINoM, вы вроде давно на форуме. Должны бы уже понять, что по фотографии тут не лечат. Порчу тоже не снимают.

__________________

29375, 35

Ответить с цитированием

Старый

25.08.2012, 05:56

Аватар для FINoM

Новичок

Отправить личное сообщение для FINoM

Посмотреть профиль

Найти все сообщения от FINoM

 

Регистрация: 05.09.2010

Сообщений: 2,298

FINoM, вы вроде давно на форуме. Должны бы уже понять, что по фотографии тут не лечат. Порчу тоже не снимают.

А что мне показать? Хоть пустые строки там оставь, всё равно ошибка будет иметься. Предполагаю, что у кого-то когда-то был подобная проблема (у меня уже была, но тогда я просто забивал). Завтра попробую удалять по частям код, посмотрим что выйдет.

Ответить с цитированием

Старый

25.08.2012, 06:17

Аватар для Aetae

Тлен

Отправить личное сообщение для Aetae

Посмотреть профиль

Найти все сообщения от Aetae

 

Регистрация: 02.01.2010

Сообщений: 6,372

Где там то?

Если на абсолютно пустом html’e в 0байт такое происходит, то глюк либо с конкретно вашим ie(на других страницах он как себя ведёт?) — что вероятнее, либо с сервером(видел хитрый способ подключения доп файлов с помощью заголовков, при этом view source показывает пустую страницу).

Если же не пустом, то очевидно что проблема где-то в коде. 6-7 осёл не умеет называть праильные строки с ошибкой. Запустите 9ый в режиме седьмого — там вполне нормальный отадчик.

__________________

29375, 35

Ответить с цитированием

Старый

25.08.2012, 15:05

Аватар для FINoM

Новичок

Отправить личное сообщение для FINoM

Посмотреть профиль

Найти все сообщения от FINoM

 

Регистрация: 05.09.2010

Сообщений: 2,298

Проблема была в таблице стилей, которая содержалась в отдельном файле. Люблю ИЕ за информативность. Строка, вызывающая ошибку:

z-index: expression( parentNode.firstChild ? ( className += " first-child" ) : 0 ) );

(да, я не умею пользоваться хаками )

Ответить с цитированием

Всем привет.
Ламерский вопрос.
Написал простенький скрипт

OnEvent(«CAM»,»71″,»MD_START»);
{
time1=time;
a1=extract_substr(time1,»:»,0);
a2=extract_substr(time1,»:»,1);
a3=extract_substr(time1,»:»,2);
time1=a1+»_»+a2+»_»+str(a3);
name=»D:FrameДата—«+date+»—«+time1+».jpg»;
DoReact(«MONITOR»,»6″,»EXPORT_FRAME»,»cam<71>,quality<0>,file<«+name+»>»);
Wait(1);  }

В результате выходит ошибка:

Process Event:|||
Предполагается наличие объекта
Src: Ошибка выполнения Microsoft JScript
Line:0 Char:0 Error:0 Scode:800a138f
End ProcessScript, begin-end delay: 0 [msec]

Камера с индексом 71 существует. Пробывал любые другие, не помогло.

Понравилась статья? Поделить с друзьями:
  • Java file outside of source root ошибка
  • Javascript виды ошибок
  • Javascript ошибка деления
  • Java else without if ошибка
  • Javascript promise обработка ошибок