window.open, IE и недопустимый аргумент

Опубликовано 2012.07.17

window.open, IE - недопустимый аргумент или SCRIPT87 Такая ошибка бывает при использовании
  1. window.open
в говнобраузере. Столкнулся с ней..потратил много времени на установление причины падения функции.Причём во всех браузерах работало нормально, а в осле намертво падало. Ошибка оказалась в том,что в имени открываемого окна были знаки тире. Тоесть:
  1. window.open('some_url','new-window-name','some options');
упадёт с ошибкой,а так:
  1. window.open('some_url','new_window_name','some options');
будет работать на ура. Обратите внимание на второй аргумент-имя нового окна.Он необязателен,но иногда он бывает крайне необходим, например чтоб в дальнейшем не открывать новое идентичное окно,а перейти в ранее открытое и сделать его активным.
  1. //открыли новое окно
  2. window.open('project/className',"edit_window","scrollbars=1,height=420,width=680");
  3.  
  4. //перешли в ранее открытое и сделали активным(перевели фокус)
  5. var edit = window.open('project/className',"edit_window","scrollbars=1,height=420,width=680");
  6. edit.focus();
Уж незнаю каким нужно быть идиотом чтобы написать такой браузер такую программу.