diff --git a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs index 82635dff..66fd008f 100644 --- a/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs +++ b/src/components/BootstrapBlazor.PdfReader/PdfReader.razor.cs @@ -131,6 +131,12 @@ public partial class PdfReader : IAsyncDisposable [Parameter] public string? Watermark { get; set; } + /// + /// 获得/设置 水印内容仅在全屏演示状态显示 + /// + [Parameter] + public bool WatermarkDemoModeOnly { get; set; } + /// /// Debug /// @@ -184,6 +190,10 @@ protected override async Task OnAfterRenderAsync(bool firstRender) var userAgent = await Module!.InvokeAsync("getUserAgent"); var parser = Parser.GetDefault(); ClientInfo = parser.Parse(userAgent); + if (!WatermarkDemoModeOnly) + { + WatermarkDemoModeOnly = await Module.InvokeAsync("getGlobalWatermark"); + } await Refresh(); } } @@ -291,7 +301,7 @@ public virtual async Task Refresh(string? search = null, int? page = null, EnumP } - private string GenUrl(bool filemode = true) => $"{ViewerBase}?file={(filemode ? HttpUtility.UrlEncode(FileName) : "(1)")}#page={Page}&navpanes={(Navpanes ? 0 : 1)}&toolbar={(Toolbar ? 0 : 1)}&statusbar={(Statusbar ? 0 : 1)}&pagemode={(Pagemode ?? EnumPageMode.Thumbs).ToString().ToLower()}&search={Search}" + (Zoom != null ? $"&zoom={Zoom.GetEnumName()}" : "") + (Watermark != null ? $"&wm={Watermark}" : ""); + private string GenUrl(bool filemode = true) => $"{ViewerBase}?file={(filemode ? HttpUtility.UrlEncode(FileName) : "(1)")}#page={Page}&navpanes={(Navpanes ? 0 : 1)}&toolbar={(Toolbar ? 0 : 1)}&statusbar={(Statusbar ? 0 : 1)}&pagemode={(Pagemode ?? EnumPageMode.Thumbs).ToString().ToLower()}&search={Search}" + (Zoom != null ? $"&zoom={Zoom.GetEnumName()}" : "") + (Watermark != null ? $"&wm={Watermark}" : "") + (WatermarkDemoModeOnly ? $"&wmonlydemo=true" : ""); /// diff --git a/src/components/BootstrapBlazor.PdfReader/wwwroot/app.js b/src/components/BootstrapBlazor.PdfReader/wwwroot/app.js index e603c226..9ea0215d 100644 --- a/src/components/BootstrapBlazor.PdfReader/wwwroot/app.js +++ b/src/components/BootstrapBlazor.PdfReader/wwwroot/app.js @@ -8,10 +8,6 @@ export async function showPdf(baseurl, element, stream) { const urlblob = URL.createObjectURL(blob); element.src = baseurl.replace('(1)', urlblob); } -export function setWatermark(watermark, element) { - console.log(element.contentWindow.document) - var elmnt = element.contentWindow.document.getElementById("watermark"); - //elmnt.style.display = "none"; - //var d = y.getElementById("watermark"); - //y.getElementById("watermark").value = watermark; -} \ No newline at end of file +export function getGlobalWatermark() { + return document.body.getAttribute('data-bb-watermark') == 'true'; +} diff --git a/src/components/BootstrapBlazor.PdfReader/wwwroot/web/limit.js b/src/components/BootstrapBlazor.PdfReader/wwwroot/web/limit.js index d1bc1916..e0d42de5 100644 --- a/src/components/BootstrapBlazor.PdfReader/wwwroot/web/limit.js +++ b/src/components/BootstrapBlazor.PdfReader/wwwroot/web/limit.js @@ -17,8 +17,19 @@ function onBodyLoad() { } if (getQueryVariable("wm")) - { - document.getElementById("watermark").value = getQueryVariable("wm"); + { + if (getQueryVariable("wmonlydemo") && getQueryVariable("wmonlydemo")=='true') + { + document.addEventListener('fullscreenchange', () => { + if (document.fullscreenElement === document.getElementById("viewerContainer") ) { + document.getElementById("watermark").value = getQueryVariable("wm"); + } else { + document.getElementById("watermark").value = ''; + } + }); + } else { + document.getElementById("watermark").value = getQueryVariable("wm"); + } } } @@ -31,4 +42,4 @@ function getQueryVariable(variable) { if (pair[0] == variable) { return pair[1]; } } return (false); -} \ No newline at end of file +}