Я вовсе не разработчик Ember, но я хотел бы изменить текущий маршрут из консоли браузера. Возможно ли вообще правильно получить доступ к Ember, например. Ember.Router.prototype.transitionTo('/feed')
?
Версия сайта 3.16.9.
Я вовсе не разработчик Ember, но я хотел бы изменить текущий маршрут из консоли браузера. Возможно ли вообще правильно получить доступ к Ember, например. Ember.Router.prototype.transitionTo('/feed')
?
Версия сайта 3.16.9.
После долгих исследований я обнаружил возможные решения, которые вы можете использовать. Я пытался добиться этого на веб-сайте Linkedin через расширение Chrome.
function runEmbedded(path) {
const namespaces = window.Ember.Namespace.NAMESPACES;
let application;
namespaces.forEach(function (namespace) {
if (namespace instanceof window.Ember.Application) {
application = namespace;
return false;
}
});
application.__container__.lookup('router:main').transitionTo(path);
}
const payload = '/some/new-path'
script.text = `(${runEmbedded.toString()})('${payload}');`;
document.documentElement.appendChild(script);
Второе решение/хак:
Другой возможный хак, который можно использовать, когда веб-сайт не прослушивает действия pushState/replaceState из History API, — это отправить состояние 2 раза, а затем вернуться. Пожалуйста, помните, что это всего лишь взлом.
history.pushState({}, '', msg.payload);
history.pushState({}, '', msg.payload);
history.back();
ember-inspector
, чтобы получить доступ к службе маршрутизатора - person Lux   schedule 03.08.2020popstate
с вашим целевым маршрутом? - person jelhan   schedule 05.08.2020