Domanda

I'm getting this error in safari console when I try to do anything from a breakpoint. Bug report here: https://bugs.webkit.org/show_bug.cgi?id=83267

Does anyone have a workaround? For reasons that I am assuming are related to this javascript has ceased to run on my site in safari.

edit: the bug report also contains repro steps.

another edit: I'm not using a "with" statement. This is a bug from the safari console.

È stato utile?

Soluzione

The with(obj) {} statement is deprecated, and as such, is not valid in strict mode.

To solve this, either disable strict mode, or stop using with statements!

Altri suggerimenti

Strict mode in ECMAScript 5 bans eg. with statement. You have two choices:

  • disable strict mode (remove "strict mode"; line from the file / function), or
  • (preferred) avoid using with statements - they are harmful and totally unreadable.

More on strict mode from John Resig: ECMAScript 5 Strict Mode, JSON, and More.

You can read in the article, that strict mode:

  • makes you unable to delete variable (like in delete foo;),
  • limits usage of eval,
  • adds some limitations to functions (eg. accessing caller and callee),
  • removes with statements,
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top