加载带有window.location.assign的页面后调用javascript函数

加载带有window.location.assign的页面后调用javascript函数,javascript,function,window.location,assign,Javascript,Function,Window.location,Assign,加载带有window.location.assign的页面后,是否可以调用javascript函数?我有这个密码 <script language="javascript" type="text/javascript"> function Loadspirit(){ window.location.assign("spirituality.php"); ReadEnglish(); } </script> 函数Loadspirit(){ window.loca

加载带有window.location.assign的页面后,是否可以调用javascript函数?我有这个密码

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

函数Loadspirit(){
window.location.assign(“spirituality.php”);
ReadEnglish();
}

我加载页面,然后调用ReadEnglish(),这是在spirituality.php中定义的函数。该函数不执行。如何使函数执行?

我认为您无法做到这一点。您最好使用该库,然后执行以下操作:

$("body").load("spirituality.php", function() {
    ReadEnglish();
});

否。javascript过去的
窗口.location.assign
将永远不会被读取。此函数实际上使您离开页面并导航到参数


如果您想停留在当前页面上,并在
spirituality.php
上访问一些javascript,则需要通过AJAX加载它。如果你真的想导航到'spirituality.php'并加载
ReadEnglish()
,则需要调用
spirituality.php

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

如果您只想在从该特定上下文调用新函数时在新页面中运行该函数,则需要向新页面传递一些信息,新页面中的代码需要查找这些信息以决定是否运行ReadEnglish()函数。向新页面传递信息的典型方式有

  • URL中的查询参数(URL中“标记”后面的项目,如“run=English”)
  • cookie中的信息集
  • 其他窗口/框架中的Javascript变量,新页面已知且位于同一来源
  • 如果这不是一个持久设置,而是在这个特定时间偶尔执行此选项,则通常使用查询参数


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

    感谢您对这一点的详细解释!