问题描述
假设某人想编写一个通过JS interop在Blazor中编写cookie的NuGet程序包。
IJSRuntime.InvokeAsync调用一个方法,并且必须在DLL范围之外的某个人定义该方法。
是否有一种方法可以注入所需的脚本功能,以便库可以在不了解前端的情况下调用它?
我需要打这样的电话。这不是功能。
document.cookie = "cookiename=cookievalue; expires= Thu,21 Aug 2014 20:00:00 UTC"
我研究了blazored LocalStorage的实现,并使用标准方法设置和读取了localstorage,从而使操作变得更加容易。
解决方法
好吧……有“评估”功能!
这有效。
await jsRuntime.InvokeVoidAsync("eval","document.cookie = ''");
但是,在转义参数时必须要小心。
对于复杂的库来说,这不是一个非常可扩展的策略。相反,第三方库要求您添加对其.js文件的引用。