То, что вы написали, не работает, потому что window.location возвращает объект Location , который является хост-объектом.Переменная myurl является строкой.При сравнении строки и объекта с использованием оператора equals строка сравнивается с результатом вызова метода toString объекта.
Хост-объекты не обязательно имеют toString, поэтому попытка его вызвать может привести к ошибке.Даже если объект location браузера имеет метод toString , он может вернуть строку, которая является значением любого из этих свойств, или что-то еще.
Как это бывает, в большинстве браузеров window.location.toString () будет возвращать текущий URL (который указан в Справочнике по Gecko DOM от Moziall ).Однако myurl содержит строку http://myurl.com/, а URL-адрес обычно содержит дополнительную информацию, например, текущую отображаемую страницу.
Для соответствия myurl ,вам нужен протокол (http :) разделитель (//), имя хоста (myurl.com) и завершающий символ "/", поэтому:
var loc = window.location;
myurl = loc.protocol + '//' + loc.hostname + '/';
Или вы можете отформатировать myurl чтобы соответствовать одному из свойств объекта location , чтобы сделать сравнение проще.
PS.HTML5 - это первая попытка стандартизировать объект окна в разных браузерах, поэтому ожидайте, что он будет немного отличаться в разных браузерах - программируйте в обороне и тестируйте широко.