【问题标题】:Use external inline script as local function使用外部内联脚本作为本地函数
【发布时间】:2014-07-27 05:24:42
【问题描述】:

这是否作为重复关闭了一次,但所谓的重复并没有真正解决我的整个问题。

我发现这个脚本在内联运行时会返回您的 IP。

<script type="text/javascript" src="http://l2.io/ip.js"></script>

http://l2.io/ip.js 只不过是一行代码说明

document.write('123.123.123.123');

(但显然是用户的IP地址)

我想将此 IP 地址用作外部定义但仍在我的域上的函数的返回字符串。也就是说,我有一个“scripts.js”,其中包含我希望使用的所有脚本,我想将它作为调用 12.io 函数的本地函数包含在该列表中,但 javascript 不允许 标签,所以我不确定如何执行此操作。

function getIP() {
    return (THAT SCRIPT'S OUTPUT);
}

这是本应重复的主题,并且非常相似。

Get client IP address via third party web service

但是,这并没有解决在我自己的脚本文件中将其定义为转发脚本的问题。

【问题讨论】:

  • 嗯,我很想再次将其作为副本关闭-答案基本上是阅读您正在使用的网站的the docs

标签: javascript return-value ip-address


【解决方案1】:

由于您似乎希望使用您网站的用户 IP,因此您需要有客户端代码才能让他们的浏览器向 http://l2.io/ip 发出请求。

您将需要 AJAX。使用jQuery's AJAX API

$.get("http://l2.io/ip.js")
    .done(function(ip) {
        // do whatever you like with the ip...
    })
    .fail(function(err) {
        console.log(err);
    }); 

根据 Bergi(并且有理由),数据不应该离开回调以避免同步问题。建议使用promises

【讨论】:

  • 不加载http://l2.io/ip.js,而是加载http://l2.io/ip——无需提取IP地址。
  • 我不知道这个网站;我正在使用OP给我的东西!无论如何,谢谢。
  • 在他链接的副本中基本上有描述:-)
  • 呸,那是在我回答之后编辑的,或者在我回答的时候。
  • 好的,只剩下相关部分了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-23
  • 2015-10-08
相关资源
最近更新 更多