【问题标题】:Get host name of page from Elm从 Elm 获取页面的主机名
【发布时间】:2020-02-24 10:25:00
【问题描述】:

我正在将 Elm 功能注入到由 PHP 编写的现有页面中。

从服务器响应的项目​​数据有url : "this-is-detail-link.html",我需要获取主机名以与 url 连接。 例如:

case Msg of
    GoToDetailPage item ->
      let
        hostname = getHostNameFromElm // <- how can I get this?

        // expected: http://example.com/this-is-detail-link.html
        fullUrl = 
          Url.Builder.crossOrigin hostname item.url []

        cmd = 
          Browser.Navigation.load fullUrl


      in
      (model, cmd)

我正在使用Browser.element

main =
    Browser.element
        { init = init
        , view = view
        , update = update
        , subscriptions = subscriptions
        }

尝试搜索但不是我所期望的。它需要使用 Browser.application,而不是这样的部分。 有什么建议吗? 提前致谢!

【问题讨论】:

  • 这能回答你的问题吗? How can I get window.location.href in Elm?
  • 其实这个答案可能已经过时了。
  • 如果你使用Browser.element,我怀疑你需要一个端口。
  • 耶!这就是我现在的想法。使用端口。
  • @bird 或者您可以将其作为标志传递。

标签: url elm


【解决方案1】:

我看到你已经解决了,但请记住,你总是可以通过ports 使用 Javascript。

这是一个使用端口获取源的示例应用程序,请注意,因为 Ellie 在 iF​​rame 内呈现,我无法直接获取主机名。您只需更改为window.location.hostname

https://ellie-app.com/8ggN625V8T6a1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多