Все вопросы касающиеся использования
программы можно задать здесь
-
cepB
- Сообщения: 2
- Зарегистрирован: 06 июн 2016, 21:54
Сообщение
cepB » 06 июн 2016, 22:00
Делаю так
$browser->set_init_java_script("Date.prototype.getTimezoneOffset = function() { return -600; };");
$browser->navigate("моя страница");
на моей странице:
Код: Выделить всё
<script>
document.write((new Date).getTimezoneOffset());
</script>
выводит системное -180
если на странице сделать
Код: Выделить всё
<script>
Date.prototype.getTimezoneOffset = function() { return -600; };
document.write((new Date).getTimezoneOffset());
</script>
выводит -600
Баг или я неправильно понимаю работу этой функции?
-
bigfozzy
- Site Admin
- Сообщения: 3048
- Зарегистрирован: 28 июл 2008, 17:24
-
Контактная информация:
Сообщение
bigfozzy » 07 июн 2016, 10:43
в ie переопределять свойства объекта нужно через defineProperty:
например для navigator.AppName это так :
Код: Выделить всё
echo $browser->set_init_java_script("
function setAppName(window, appName) {if (window.navigator.appName != appName) {
var appNameProp = { get: function () { return appName; } };
try {
Object.defineProperty(window.navigator, 'appName', appNameProp);
} catch (e) {
window.navigator = Object.create(navigator, {
appName: appNameProp
});
}
}
}
setAppName(window, 'new app name');")."<br>";
-
cepB
- Сообщения: 2
- Зарегистрирован: 06 июн 2016, 21:54
Сообщение
cepB » 09 июн 2016, 06:47
спасибо, разобрался!