问题描述
spfx 的新手。我已经构建并应用了这个扩展 react-application-injectcss(https://github.com/pnp/sp-dev-fx-extensions/tree/master/samples/react-application-injectcss) 但它适用于我租用的所有站点。我可以对需要应用自定义 css/js
的特定站点的站点名称进行硬编码吗?解决方法
可以使用这个扩展将js文件注入页面,判断js文件中当前页面的url,然后注入CSS文件。
if ((window.location.href.toLowerCase().indexOf('testfolder') > 0))
{
var head = document.getElementsByTagName('head')[0];
var link = document.createElement('link');
link.href = 'https://contoso.sharepoint.com/sites/dev/Doc/testFolder/test.css';
link.rel = 'stylesheet';
link.type = 'text/css';
head.appendChild(link);
}
,
我想说的是,从意识形态上讲,注入 CSS 来自定义您不拥有的东西是有点笨拙且可能有害的方式。要自定义站点外观,您可以使用站点模板。例如,要“摆脱侧边栏”,您可以创建“交流”站点(没有侧边栏)而不是“团队”站点(有)。就这么简单。