944,034 Members | Top Members by Rank

Ad:
Jun 28th, 2007
0

Opera Javascript bug? (works in Firefox)

Expand Post »
All,

I am currently developing a UserJS "plug-in" for Opera in Linux using verision 9.21, build 641. I have encountered some bizarre problems and have been able to isolate and reproduce one using the code posted below. The basic issue throughout my code (and reproduced below) is that a command may either not execute, may execute incorrectly, or may execute differently depending on whether or not an alert() precedes it. Using Firefox, preceding the alert(hidden.contentDocument) command with another alert does not change anything (as well it shouldn't).

Has anyone else encountered this or have any suggestions? I cannot afford to have random alerts throughout my code (obviously).

Thanks in advance!
Louis

javascript Syntax (Toggle Plain Text)
  1.  
  2. <html>
  3. <body>
  4.  
  5. <script type="text/javascript">
  6.  
  7.  
  8. var hidden = document.createElement('iframe');
  9. hidden.src = "http://www.opera.com";
  10. hidden.id = "iframe"
  11. document.body.appendChild(hidden);
  12. // if the below alert is commented out, the alert(hidden.contentDocument) command displays an alert box saying "null".
  13. // if the below alert is not commented out, the alert(hidden.contentDocument) command displays an alert box saying "[object HTMLDocument]".
  14. //alert("stuff")
  15. alert(hidden.contentDocument)
  16.  
  17. </script>
  18.  
  19.  
  20. </body>
  21. </html>
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
bball7210 is offline Offline
2 posts
since Jun 2007
Jun 28th, 2007
0

Re: Opera Javascript bug? (works in Firefox)

Where is the semicolon that belongs after each alert statement? You have a run-on statement.

The next statement is not executed because the semicolon is missing. The interpreter thinks the statement is not over yet. It then finds it doesn't know what to do with the improper code it finds, and skips to the next semicolon.

Some interpreters incorrectly ignore missing semicolons when it is "obvious" that a new statement has been started. They should not do that. And you should never count on it happening.
Last edited by MidiMagic; Jun 28th, 2007 at 7:12 pm. Reason: sin tax
Reputation Points: 730
Solved Threads: 181
Nearly a Senior Poster
MidiMagic is offline Offline
3,314 posts
since Jan 2007
Jun 28th, 2007
0

Re: Opera Javascript bug? (works in Firefox)

Midimagic,

Thanks a lot for the clarification. I am new to Javascript and was under the impression that semicolons were optional. Some are there because of my C++ habits.

Thanks again,
Louis
Reputation Points: 10
Solved Threads: 0
Newbie Poster
bball7210 is offline Offline
2 posts
since Jun 2007
Jun 28th, 2007
0

Re: Opera Javascript bug? (works in Firefox)

Javascript standards don't mandate semicolons but always make sure you put them because there are many browsers out there who would like to suck your project in.
Last edited by ~s.o.s~; Jun 28th, 2007 at 10:41 pm.
Super Moderator
Featured Poster
Reputation Points: 3241
Solved Threads: 720
Failure as a human
~s.o.s~ is offline Offline
8,873 posts
since Jun 2006
Jun 29th, 2007
0

Re: Opera Javascript bug? (works in Firefox)

That's a difference between Java and JavaScript.

Actually, there are certain places in JavaScript where semicolons are required (between statements), some places where they are optional (before a close brace), and some places where they are prohibited (before an else).
Last edited by MidiMagic; Jun 29th, 2007 at 1:37 am.
Reputation Points: 730
Solved Threads: 181
Nearly a Senior Poster
MidiMagic is offline Offline
3,314 posts
since Jan 2007
Jun 29th, 2007
0

Re: Opera Javascript bug? (works in Firefox)

> Actually, there are certain places in JavaScript where semicolons are required
Here you are talking about the syntax (for example the for loop) which mandates semicolon be placed. In Javascript as long as statements are separated by whitespaces (newlines) it shouldn't be a problem, though older / non-complaint browsers balk at it.
Super Moderator
Featured Poster
Reputation Points: 3241
Solved Threads: 720
Failure as a human
~s.o.s~ is offline Offline
8,873 posts
since Jun 2006

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in JavaScript / DHTML / AJAX Forum Timeline: Registration of ocx file from server
Next Thread in JavaScript / DHTML / AJAX Forum Timeline: help needed in coloring html tables





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC