Как обновить window.location.href для конкретного iframe? - PullRequest
0 голосов
/ 27 июня 2019

Итак, у меня запущено приложение, URL-адрес "localhost: 8082 / myapp".

Я пробовал 3 случая в 4 различных сценариях:

  • Chrome, запускающий мое приложениеизначально
  • Chrome, выполняющий мое приложение через salesforce
  • IE, запускающий мое приложение собственно
  • IE, запускающий мое приложение через salesforce

1)Я добавил alert(window.location.href) в свой javascript

Во всех случаях предупреждение выдает «localhost: 8082 / myapp», как и ожидалось.

2) Я добавил window.location.href = "http://google.com"

Во всех случаях страница будет перенаправлена ​​на Google.Это не то, что я ожидал при работе с Salesforce.Поскольку окно ссылается на мое приложение iframe, почему оно перенаправило родительское окно (salesforce) вместо моего iframe?

2) я добавил window.location= "test"

  • В нативном Chrome меня перенаправили на «localhost: 8082 / myapp / test», и это то, что я хотел.
  • В Salesforce на Chrome меня перенаправили на «localhost: 8082 / myapp / test».Опять же, я ожидал, что только мое приложение iframe должно было быть перенаправлено, так как окно ссылалось на мой iframe, почему мой window.top перенаправлен?
  • В нативном, т.е. я был перенаправлен на "localhost: 8082 / myapp / test«Это то, что я хотел.
  • В отделе продаж, т. е. меня перенаправили на« salesforce.com/servlet/test ».Понятия не имею, что здесь произошло ..

В любом случае, мой вопрос заключается в том, как я могу иметь JavaScript, который последовательно перенаправляет мое приложение правильно, независимо от того, размещено ли оно в iframe или нет?Например, если не в iframe, то вся страница должна перенаправлять, но если она размещена в iframe, только iframe src должен перенаправить

...