ember.js Ember -从浏览器控制台更改当前路线

ua4mk5z4  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(179)

我不是Ember开发者,但我想从浏览器控制台更改当前的路由。是否有可能正确访问Ember,例如Ember.Router.prototype.transitionTo('/feed')
网站版本为3.16.9

fquxozlt

fquxozlt1#

经过大量的研究,我已经找到了可能的解决方案,你可以使用。我试图通过Chrome扩展在Linkedin网站上实现它

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动作从历史API是推状态2次,然后回去.请记住,这只是一个黑客.

history.pushState({}, '', msg.payload);
history.pushState({}, '', msg.payload);
history.back();

相关问题