0

我需要从 ascx 控件访问共享点样式库中的 css 和 javascript 文件。我将自定义 css 和 javascript 文件存储在样式库中,并在 ascx 中添加了以下代码。但问题是 sharepoint没有从下面给定的路径中识别 javascript 文件。

ascx 中的代码

<SharePoint:CssLink runat="server" ID="MenuCSSLink" Version="4" ></SharePoint:CssLink>
<SharePoint:CssRegistration Name="/Style Library/en-us/Core Styles/Style.css" EnableCssTheming="True" ID="css" runat="server"></SharePoint:CssRegistration>
<SharePoint:ScriptLink id="ScriptLinkMenu1" runat="server"  Name="~SiteCollection/Style Library/en-us/Core Styles/JS/script1.js " ></SharePoint:ScriptLink>
<SharePoint:ScriptLink id="ScriptLinkMenu2" runat="server"  Name="~SiteCollection/Style Library/en-us/Core Styles/JS/script2.min.js " ></SharePoint:ScriptLink>
<SharePoint:ScriptLink id="ScriptLinkMenu3" runat="server" Name="~SiteCollection/Style Library/en-us/Core Styles/JS/script3.js " ></SharePoint:ScriptLink>
<SharePoint:ScriptLink id="ScriptMenu6" runat="server"  Name="~SiteCollection/Style Library/en-us/Core Styles/JS/script4.js " ></SharePoint:ScriptLink>

我用 IE 开发者工具(F12)测试了页面,发现 css 可以正常渲染,但 js 不行。我将 Java 脚本保存在样式库根目录中并进行了测试。这个也行不通

4

2 回答 2

2

There is an extra space at the end of your JS links. It's escaping that space and adding %20 to your URL. If you View Source, you might see something like this:

document.write('<script src="/Style%20Library/en-us/Core%20Styles/JS/script1.js%20"></' + 'script>');

Removing that space should point to the proper file URL.

于 2012-06-07T15:42:49.463 回答
0

我修改了代码如下

<SharePoint:CssLink runat="server" ID="MenuCSSLink" Version="4" DefaultUrl="<% $SPUrl:~SiteCollection/Style Library/en-us/Themable/Style.css %>" ></SharePoint:CssLink>
<SharePoint:CssRegistration Name="/Style Library/en-us/Themable/Style.css" EnableCssTheming="True" ID="css" After="corev4.css" runat="server"></SharePoint:CssRegistration>
<SharePoint:ScriptLink id="ScriptLinkMenu1" runat="server"  Name="~SiteCollection/Style Library/en-us/Core Styles/JS/script1.js" Language="javascript" ></SharePoint:ScriptLink>
<SharePoint:ScriptLink id="ScriptLinkMenu2" runat="server"  Name="~SiteCollection/Style Library/en-us/Core Styles/JS/script2.min.js" Language="javascript" ></SharePoint:ScriptLink>
<SharePoint:ScriptLink id="ScriptLinkMenu3" runat="server" Name="~SiteCollection/Style Library/en-us/Core Styles/JS/script3.js" Language="javascript" ></SharePoint:ScriptLink>
<SharePoint:ScriptLink id="ScriptMenu6" runat="server"  Name="~SiteCollection/Style Library/en-us/Core Styles/JS/script4.js" Language="javascript" ></SharePoint:ScriptLink>

而且为了使主题功能在共享点中工作,我将样式表存储在样式库的主题文件夹中

于 2012-06-08T09:28:35.240 回答