使用 Spfx React-Application-Injectcss 扩展des 中的链接隐藏特定站点上的左侧导航

问题描述

spfx 的新手。我已经构建并应用了这个扩展 react-application-injectcss(https://github.com/pnp/sp-dev-fx-extensions/tree/master/samples/react-application-injectcss) 但它适用于我租用的所有站点。我可以对需要应用自定义 css/js

的特定站点站点名称进行硬编码吗?

我在哪里更改代码(.ts 文件)?

解决方法

可以使用这个扩展将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);
    }

extension inject js file

,

我想说的是,从意识形态上讲,注入 CSS 来自定义您不拥有的东西是有点笨拙且可能有害的方式。要自定义站点外观,您可以使用站点模板。例如,要“摆脱侧边栏”,您可以创建“交流”站点(没有侧边栏)而不是“团队”站点(有)。就这么简单。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...