【问题标题】:Blazor webassembly: detect from which site the user came fromBlazor webassembly:检测用户来自哪个站点
【发布时间】:2020-06-09 16:16:52
【问题描述】:

我正在开发 Blazor Webassembly 应用程序。根据用户来自的页面,我应该显示不同的内容。例如,当用户来自 Facebook 时,应用程序应显示内容 A,否则应显示内容 B。这个功能是怎么实现的?

我认为可以通过检查请求标头的 referrer 属性来做到这一点,但我不知道如何访问剃须刀页面上的 http 请求。

【问题讨论】:

    标签: http request blazor webassembly referer


    【解决方案1】:

    您可以为此使用 javascript。

    1) 在您的 blazor 项目(前端)上创建一个包含以下内容的 javascript 文件:

    function getReferrer() {
        return document.referrer;
    }
    

    2) 将上一个文件添加到您的 index.html 文件中:

    <script src="JavaScript.js"></script>
    

    3) 使用 IJSRuntime 服务使用函数:

    var referrer = await js.InvokeAsync<string>("getReferrer");
    

    这应该会让你成为推荐人。

    【讨论】:

    • 谢谢费利佩。我按照你的建议做了,现在 getReferrer JS 函数总是返回 undefined,即使我从另一个网页上的链接转到该页面也是如此。请提出一种方法,我该如何测试上述内容。
    • 我上传了一个小示例项目到github,你可以使用那个项目进行测试吗? github.com/gavilanch/BlazorReferrerSample
    • 我想我们快到了 :) 您的解决方案有效,我的无效。我认为这是因为您的应用程序的 url 是 https 而我的是 http。你知道我怎样才能让我的应用程序 https 吗?
    • 右键单击您的“服务器”项目,转到属性,然后转到调试,确保选中启用 SSL。那应该给你https。
    猜你喜欢
    • 2020-12-15
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-15
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 2020-02-10
    相关资源
    最近更新 更多