url - 从 Elm 获取页面的主机名
问题描述
我正在向 PHP 编写的现有页面注入 Elm 功能。
从服务器响应的项目数据有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,而不是这样的部分。有什么建议吗?提前致谢!
解决方案
我已经看到您已经解决了它,但请记住,您始终可以通过ports使用 Javascript 。
这是一个使用端口获取来源的示例应用程序,请不要因为 Ellie 在 iFrame 中呈现,我无法直接获取主机名。您只需要更改为window.location.hostname
.
推荐阅读
- javascript - “未找到匹配记录”,引导表结果超过 10 万条记录
- docker - `docker build` 命令挂了很长时间,其他命令工作正常
- postgresql - 当 Google Cloud SQL postgres 服务器升级(到更大的机器)花费的时间比“几分钟”长得多时该怎么办?
- python-3.x - 覆盖范围:编译指示:没有带有多行语句的分支
- java - 我在 JPA 中需要这个 SQL 语句
- chart.js - 页面结构中的响应式 ChartJS
- android - 一旦应用程序启动,如何从结构帐户中永久删除应用程序,因为它使用提供的帐户重新初始化?
- java - Jackson 序列化自定义 TreeNode 对象以返回 JSONObject
- ios - 如何使用 Google Apps 在 Google 表单上请求数字键盘?
- python - #noqa 仅适用于一行导入,但不适用于 import()