views:

306

answers:

5

I am developing JavaScript chat. I have done the prototype, and it seems to work pretty well. But our client says that it doesn't work. We both use IE7 on PC, and try to run the same JavaScript code. I have no idea about the reason. On my client's machine there is "object is expected" error. I have thought about security restrictions, and tried to make security level higher in my IE, but in this case the script doesn't run and there is no error messages. I am running the script on the remote server.

+1  A: 

Clients machine may be running within a group policy which for security reasons can restrict execution of scripts. Hence the client may need to include your prototype as part of their trusted sites and relax restrictions on trusted sites

Are you able to provide any more details about the specific error? Are you sending the client a zipped up version of the solution or is it hosted somewhere?

Nick Allen - Tungle139
On my client's machine there is "object is expected" error. I have thought about security restrictions, and tried to make security level higher in my IE, but in this case the script doesn't run and there is no error messages
Vladimir Kadalashvili
Nick Allen - Tungle139
A: 

If you're running the code from localhost and he's running it from a remote server then it could be a timing issue - some script could be running before the page has finished loading that's causing a problem on a slow connection that is hidden on a fast connection.

Greg
I am running code on the remote server.
Vladimir Kadalashvili
A: 

You can get this error if you try to use an exernal script file that the client's browser can not access. Example :

<script src="http://localhost/scripts/freelib.js" language=Javascript> </script>

You can access freelib.js on your machine, but running it from any other machine it wouldn't work.

Sébastien Nussbaumer
A: 

Are you sure all the scripts are being loaded? I've seen that error message before when some or all aren't loaded (maybe they didn't get deployed). Try manually copying the addresses of all the js files from the source and pasting them into the address bar to make sure that the browser can actually access them.

Can you run the page on your client's machine in Firefox? The firefox console should give you a more detailed error message than IE will.

Helephant
+1  A: 

From the IEBlog; you could try using the Microsoft Script Debugger (see post)

One thing you may find, especially with IE is the error that is reported is actually caused by a previous error in the code.

Try running your javascript through jslint to ensure that it is well formed.

In Firefox with [firebug], enable strict warnings in the console.

Related SO posts.

debugging-javascript-in-ie7.
debugging-javascript-for-ie6.

Edit::
One thing to look for is comma's after the last element in an array, IE seems to ignore the closing brace } and keep adding following code to the array. Firefox gracefully just assumes that you forgot it.

garrow
Like this poster says, *ALWAYS* check that you don't have a comma after the last item in an array. IE will fail in confusing and mysterious ways, and will point to an "error" in a line of code that could be well below the actual problem in the script.
Petey