假设有人想编写一个NuGet包,通过JS interop在Blazor中编写cookie。
IJSRuntime.InvokeAsync调用一个方法,而该方法必须由DLL范围之外的人定义。
有没有一种方法可以注入所需的脚本函数,使库可以在不需要前端意识的情况下调用它?
我需要这样称呼。这不是函数。
document.cookie = "cookiename=cookievalue; expires= Thu, 21 Aug 2014 20:00:00 UTC"
我研究了Blazored LocalStorage的实现,并且使用标准方法设置和读取LocalStorage,所以这要容易得多。
嗯。。。存在";eval";作用
这是有效的。
await jsRuntime.InvokeVoidAsync("eval", "document.cookie = ''");
但是,必须小心转义参数。
不过,对于复杂的库来说,这不是一个非常可扩展的策略。相反,第三方库要求您添加对其.js文件的引用。