招摇 (Swashbuckle) 隐藏 header
Swagger (Swashbuckle) hide header
我使用 Swashbuckle 将 Swagger 文档添加到我的 ASP.NET Web API 项目中。如何在不注入 CSS 的情况下从文档页面隐藏默认值 header(带有 swagger 徽标)?
很遗憾,我认为您现在可以在 javascript 之前完成。
在您的 SwaggerConfig.cs 中,您可以像这样注入一个 .js 文件:
.EnableSwaggerUi(c =>
{
c.InjectJavaScript(thisAssembly, "yournamespace.yourscript.js");
});
所以在这个脚本中你可以做任何你想做的事,比如隐藏 header:
document.querySelector("#header").style.display = "none";
此 post 展示了如何自定义 header 在其上放置两个文本框。
编辑:
@dimaKudr 的回答中建议的方法更好。注入一个CSS样式就可以隐藏菜单(不需要JS)
当我按照上面的建议注入 JS 时,header 在页面加载时闪烁。它显示了一秒钟,然后被脚本禁用。
有一种方法更适合我。 https://github.com/domaindrivendev/Swashbuckle/issues/476
你可以注入 CSS 而不是 JS:
#header {
display:none;
}
当我第一次 运行 进入它时,我开始注入 css/js 但每次都很难 "hackish" 来隐藏注入的东西 css。所以过了一会儿,我只是用这个 index.html 的修改版本替换了索引文件
您可以根据需要对其进行修改。删除 id=header 的 div 将删除 header。这也使诸如替换徽标等事情变得更加简单。对于徽标部分,您可以将徽标 src 设置为 en 64 位编码,如此处所示 encode image。此外,删除选项卡中的链接图标就像删除该行一样简单。添加到其他页面的链接等也很简单。将索引注入你的 swaggerconfig
c.CustomAsset("index", thisAssembly, "Path.To.index.html");
记得将索引设置为嵌入式资源。
就算你用CSS或者JS的技巧来隐藏,你试试看也隐藏不了。
CSS备用如下;
.server {display: none;}
我使用 Swashbuckle 将 Swagger 文档添加到我的 ASP.NET Web API 项目中。如何在不注入 CSS 的情况下从文档页面隐藏默认值 header(带有 swagger 徽标)?
很遗憾,我认为您现在可以在 javascript 之前完成。
在您的 SwaggerConfig.cs 中,您可以像这样注入一个 .js 文件:
.EnableSwaggerUi(c =>
{
c.InjectJavaScript(thisAssembly, "yournamespace.yourscript.js");
});
所以在这个脚本中你可以做任何你想做的事,比如隐藏 header:
document.querySelector("#header").style.display = "none";
此 post 展示了如何自定义 header 在其上放置两个文本框。
编辑:
@dimaKudr 的回答中建议的方法更好。注入一个CSS样式就可以隐藏菜单(不需要JS)
当我按照上面的建议注入 JS 时,header 在页面加载时闪烁。它显示了一秒钟,然后被脚本禁用。 有一种方法更适合我。 https://github.com/domaindrivendev/Swashbuckle/issues/476
你可以注入 CSS 而不是 JS:
#header {
display:none;
}
当我第一次 运行 进入它时,我开始注入 css/js 但每次都很难 "hackish" 来隐藏注入的东西 css。所以过了一会儿,我只是用这个 index.html 的修改版本替换了索引文件 您可以根据需要对其进行修改。删除 id=header 的 div 将删除 header。这也使诸如替换徽标等事情变得更加简单。对于徽标部分,您可以将徽标 src 设置为 en 64 位编码,如此处所示 encode image。此外,删除选项卡中的链接图标就像删除该行一样简单。添加到其他页面的链接等也很简单。将索引注入你的 swaggerconfig
c.CustomAsset("index", thisAssembly, "Path.To.index.html");
记得将索引设置为嵌入式资源。
就算你用CSS或者JS的技巧来隐藏,你试试看也隐藏不了。
CSS备用如下;
.server {display: none;}