При попытке добавить к URL-адресу с помощью window.history.pushState я получаю функциональные возможности в Chrome, Firefox, Safari и Opera, но на моей виртуальной машине в IE появляется диалоговое окно браузера с просьбой включить ActiveX. Если я это сделаю, я получу желаемую функциональность, но если нет, то сообщение в конечном итоге исчезнет, и браузер придется снова открывать. Есть ли способ реализовать это без использования ActiveX?
<button onclick = "myFunc()">Button</button>
...
<script>
var myFunc = function() {
var newurl = window.location.protocol + '//' + window.location.host + window.location.pathname + '?append+to+the+url';
window.history.pushState({ path: newurl }, '', newurl);
}
</script>
Я ожидал, что он будет немедленно добавлен к URL-адресу, но IE ожидает, что пользователь включит ActiveX, чтобы сохранить функциональность.
@ Deepak-MSFT Я только что включил все настройки, относящиеся к работе ActiveX, и диалоговые окна все еще появляются. Кажется, что диалоговое окно немного более последовательно обнаруживает, что скрипт пытается запуститься.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я сделал тест на своей стороне, и, основываясь на результатах моего тестирования, я также получил это всплывающее окно, позволяющее ActiveX заставить код работать.
При дальнейшем тестировании я обнаружил, что включение параметров ActiveX также не помогает решить проблему.
После этого я пытаюсь включить опцию Разрешить запуск активного содержимого в файлах на моем компьютере в Продвинутая вкладка из Настройки интернета.
Это решило проблему для IE, и теперь нет всплывающих окон для разрешения ActiveX, и код работает нормально.
Вывод в IE 11:
В целях тестирования попробуйте включить параметры, связанные с ActiveX, в разделе «Параметры Интернета» -> «Безопасность» -> «Пользовательский уровень». Ссылка: i.postimg.cc/fWf6JWvZ/185.png Затем снова попробуйте сделать тест, чтобы увидеть, работает ли он без подсказки или нет.