调用内容页';将javascript从母版页中删除

调用内容页';将javascript从母版页中删除,javascript,ajax,master-pages,servicecontract,Javascript,Ajax,Master Pages,Servicecontract,我正在开发一个web应用程序,它可以以两种截然不同的格式显示数据。为此,我使用了一个母版页,其中包含两个不同的内容页,用于不同的视图。我使用.svc文件来执行AJAX风格的服务器请求。我希望能够从母版页javascript执行服务调用,然后运行相应的onSuccess javascript方法(理想情况下,该方法位于另一个.js文件中)以显示基于我所在内容页的数据。我猜这将通过某种函数委托来完成,但我对web开发还不熟悉,不知道如何完成。任何帮助都将不胜感激。如果您可以在一个页面上完成所有操作,

我正在开发一个web应用程序,它可以以两种截然不同的格式显示数据。为此,我使用了一个母版页,其中包含两个不同的内容页,用于不同的视图。我使用.svc文件来执行AJAX风格的服务器请求。我希望能够从母版页javascript执行服务调用,然后运行相应的onSuccess javascript方法(理想情况下,该方法位于另一个.js文件中)以显示基于我所在内容页的数据。我猜这将通过某种函数委托来完成,但我对web开发还不熟悉,不知道如何完成。任何帮助都将不胜感激。

如果您可以在一个页面上完成所有操作,您的HTML可能会如下所示:

<!DOCTYPE html>
<html>
  <head>
    <script src="masterScript.js"></script>
    <script src="module/childScript.js"></script>
    <script>
      console.log(globalVariableFromMasterScript)
      doSomethingFromChildScript(globalVariableFromMasterScript)
    </script>
  </head>
  <body>
    <p>This is the html page</p>
  </body>
</html>

console.log(globalVariableFromMasterScript)
doSomethingFromChildScript(全局变量来自MasterScript)
这是html页面


这是个愚蠢的问题。。。只需将不同的js文件附加到内容页。赋予函数相同的名称,它就可以正常工作。

如果要呈现两个单独的浏览器网络视图(如单独的选项卡或iFrame),我认为没有办法做到这一点。通常情况下,解决方案是使用angular或其他工具构建一个单页应用程序,这样您就可以分离控制两个独立部分的逻辑,但它们仍然可以共享数据。也就是说:我不确定您的文档结构是什么,我可能是错的,所以您应该看看,尝试从主
文档
DOM对象广播事件,并在子DOM对象中接收它,只要您从一个顶级html文件加载所有内容,您当然可以将第二个函数放在第二个javascript文件中,并从第一个javascript文件调用它。(但请注意,第一个脚本运行时不会加载第二个脚本-如果需要,请使用等待。)