使用 window.location.assign 加载页面后调用 javascript 函数

use*_*527 3 javascript function window.location assign

是否可以在使用 window.location.assign 加载页面后调用 javascript 函数?我有这个代码。

<script language="javascript" type="text/javascript">
function Loadspirit(){
  window.location.assign("spirituality.php");
  ReadEnglish();
}
</script>
Run Code Online (Sandbox Code Playgroud)

我加载页面然后调用 ReadEnglish(),这是一个在 spiritity.php 中定义的函数。该函数不执行。使函数执行的方法是什么?

jfr*_*d00 5

一旦你分配了一个新的 window.location,浏览器就会开始在当前浏览器窗口中加载一个新页面。这将停止执行此窗口中的所有 javascript 并开始加载新页面。从那时起,只有新页面中的 javascript 才会运行。如果在加载新页面后想要一个函数,则必须将该代码放入新页面中。如果希望该函数一直在新页面中运行,您只需将新页面中的代码设置为在页面加载时始终运行该函数。

如果您只希望新函数在从特定上下文调用时在新页面中运行,那么您需要将一些信息传递给新页面,新页面中的代码需要查找该信息来决定是否运行ReadEnglish() 函数与否。将信息传递到新页面的典型方法是

  1. URL 中的查询参数(URL 中 ? 标记后的项目,如“?run=English”)。
  2. cookie 中设置的信息
  3. 新页面已知的其他窗口/框架中的 Javascript 变量,并且在同一来源。

如果这不是持久设置,而是在特定时间偶尔执行此选项,则通常使用查询参数。

如果这是一个更持久的设置,则通常使用 Cookie,因为 cookie 可以持续存在,直到您告诉它消失为止。