Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用服务器端包含检查当前页面是否为主页——如果是,则显示脚本标记_Javascript_Sitecore_Server Side Includes - Fatal编程技术网

Javascript 使用服务器端包含检查当前页面是否为主页——如果是,则显示脚本标记

Javascript 使用服务器端包含检查当前页面是否为主页——如果是,则显示脚本标记,javascript,sitecore,server-side-includes,Javascript,Sitecore,Server Side Includes,我在一个Sitecore网站上工作,对于主文件,我想检查一下我是否在主页上。如果是,那么我想为动画文件的内容显示一个脚本标记(注意:我不能将脚本移动到另一个文件——它必须保持原样) 我不太熟悉服务器端的includes/语句,但我知道如果语句: <!--#if is home page, then show the script tag --> <script type="text/javascript" charset="utf-8" src="/scripts/

我在一个Sitecore网站上工作,对于主文件,我想检查一下我是否在主页上。如果是,那么我想为动画文件的内容显示一个脚本标记(注意:我不能将脚本移动到另一个文件——它必须保持原样)

我不太熟悉服务器端的includes/语句,但我知道如果语句:

 <!--#if is home page, then show the script tag -->
     <script type="text/javascript" charset="utf-8" src="/scripts/Subpages/Main-Image-2_edgePreload.js"></script>
 <!--#endif -->


但是,我不知道如何执行检查……是否有方法检查页面URL、页面名称或页面ID?

您可以通过检查开始项的值来确定当前页面是否为主页

在web.config中,您将拥有StartItem,它将指向Sitecore实例中的主节点

<site name="website" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content/"  startItem="/home" database="web" />
这里也回答了这个问题:


这似乎有点复杂。动画是一个单独的组件吗?该组件是否可以注册要加载的脚本,而不是进行页面检查以查看它是否在需要加载的页面上?
Item startItem = Sitecore.Context.Database.GetItem(Sitecore.Context.Site.StartPath);

// check if page is home page
if(startItem.ID.Equals(Sitecore.Context.Item.ID))
{

}