From 6f7ec52a2f7f2a67fd940ec8ce09e9578f0666bb Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 5 Mar 2025 13:01:54 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E6=80=A7?= =?UTF-8?q?=E8=83=BD=E5=87=8F=E5=B0=91=E5=9B=A0=E6=AD=A4=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/IFrame/IFrame.razor.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/Components/IFrame/IFrame.razor.cs b/src/BootstrapBlazor/Components/IFrame/IFrame.razor.cs index 93873635207..f04729f4a32 100644 --- a/src/BootstrapBlazor/Components/IFrame/IFrame.razor.cs +++ b/src/BootstrapBlazor/Components/IFrame/IFrame.razor.cs @@ -40,6 +40,16 @@ public partial class IFrame private object? _lastData; + /// + /// + /// + protected override void OnInitialized() + { + base.OnInitialized(); + + _lastData = Data; + } + /// /// /// @@ -59,7 +69,12 @@ protected override async Task OnAfterRenderAsync(bool firstRender) /// /// /// - protected override Task InvokeInitAsync() => InvokeVoidAsync("init", Id, Interop, nameof(TriggerPostData)); + protected override Task InvokeInitAsync() => InvokeVoidAsync("init", Id, Interop, new + { + Data, + TriggerPostDataCallback = nameof(TriggerPostData), + TriggerLoadedCallback = nameof(TriggerLoaded) + }); /// /// 推送数据方法 From c5993227b0a2aa044d31af2db9b596c343caa93f Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 5 Mar 2025 13:02:11 +0800 Subject: [PATCH 2/5] =?UTF-8?q?refactor:=20=E6=9B=B4=E6=94=B9=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E6=B3=A8=E9=87=8A=E4=B8=BA=E8=8B=B1=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/IFrame/IFrame.razor.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/BootstrapBlazor/Components/IFrame/IFrame.razor.cs b/src/BootstrapBlazor/Components/IFrame/IFrame.razor.cs index f04729f4a32..bc211014249 100644 --- a/src/BootstrapBlazor/Components/IFrame/IFrame.razor.cs +++ b/src/BootstrapBlazor/Components/IFrame/IFrame.razor.cs @@ -6,30 +6,30 @@ namespace BootstrapBlazor.Components; /// -/// Frame 组件封装 Html iframe 元素 +/// Frame component encapsulates the Html iframe element /// public partial class IFrame { /// - /// 获得/设置 Frame 加载网页路径 + /// Gets or sets the URL of the webpage to be loaded in the Frame /// [Parameter] public string? Src { get; set; } /// - /// 获得/设置 需要传递的数据 + /// Gets or sets the data to be passed /// [Parameter] public object? Data { get; set; } /// - /// 获得/设置 Frame 加载页面传递过来的数据 + /// Gets or sets Frame loads the data passed by the page /// [Parameter] public Func? OnPostDataAsync { get; set; } /// - /// 获得/设置 页面加载完毕后回调方法 + /// Gets or sets Callback method after the page is loaded. /// [Parameter] public Func? OnReadyAsync { get; set; } @@ -77,14 +77,14 @@ protected override async Task OnAfterRenderAsync(bool firstRender) }); /// - /// 推送数据方法 + /// Method to push data /// /// /// public Task PushData(object? data) => InvokeVoidAsync("execute", Id, data); /// - /// 由 JavaScript 调用 + /// Called by JavaScript /// /// /// @@ -98,7 +98,7 @@ public async Task TriggerPostData(object? data) } /// - /// 由 JavaScript 调用 + /// Called by JavaScript /// /// [JSInvokable] From 6526ae0c21255f2b8ce0ac0cb1065e58d9cef6e5 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 5 Mar 2025 13:02:43 +0800 Subject: [PATCH 3/5] =?UTF-8?q?refactor:=20=E6=9B=B4=E6=96=B0=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/IFrame/IFrame.razor.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/BootstrapBlazor/Components/IFrame/IFrame.razor.js b/src/BootstrapBlazor/Components/IFrame/IFrame.razor.js index d9c5ffefa9d..53a68fb4a7a 100644 --- a/src/BootstrapBlazor/Components/IFrame/IFrame.razor.js +++ b/src/BootstrapBlazor/Components/IFrame/IFrame.razor.js @@ -1,16 +1,20 @@ import Data from "../../modules/data.js" -export function init(id, invoke, callback) { +export function init(id, invoke, options) { + const { data, triggerPostDataCallback, triggerLoadedCallback } = options; const handler = e => { - invoke.invokeMethodAsync(callback, e.data) + invoke.invokeMethodAsync(triggerPostDataCallback, e.data) } Data.set(id, handler) - window.addEventListener('message', handler); const frame = document.getElementById(id); frame.onload = () => { - invoke.invokeMethodAsync("TriggerLoaded"); + invoke.invokeMethodAsync(triggerLoadedCallback); + window.addEventListener('message', handler); + if (data) { + frame.contentWindow.postMessage(data); + } } } From dcb5b6e852c4483b5100d7962766c517c3d67b4c Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 5 Mar 2025 13:07:25 +0800 Subject: [PATCH 4/5] chore: bump version 9.4.5 --- src/BootstrapBlazor/BootstrapBlazor.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index ee9e70bc063..36f3686cfc2 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@ - 9.4.4 + 9.4.5 From 6e856ef28178d6c53ed0d099cd8ff381ceb10d2b Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 5 Mar 2025 13:14:44 +0800 Subject: [PATCH 5/5] chore: bump version 9.4.5-beta01 --- src/BootstrapBlazor/BootstrapBlazor.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index 36f3686cfc2..eca0df8f6ea 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@ - + - 9.4.5 + 9.4.5-beta01