javascript - 使用外部内联脚本作为本地函数

标签 javascript return-value ip-address

将其作为重复项关闭一次,但所谓的重复项实际上并没有解决我的整个问题。

我发现这个脚本,当内联运行时,会返回您的 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

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

最佳答案

由于您似乎希望使用网站用户的 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 .

关于javascript - 使用外部内联脚本作为本地函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24073387/

相关文章:

c - 当返回值的类型与声明的返回类型不同时,返回值会怎样?

c - 返回语句、值——它们是如何使用的?

ip-address - 带有本地主机和IP地址的网页不同显示

android - 在 Android 应用程序中连接本地 IP 地址时出错

javascript - 无法弄清楚为什么 JS 插件不起作用

javascript - 在 React Native 应用程序中获取请求后,MobX 存储未更新

javascript - React Native 在 render 方法中使用 let 或 var

java - 如何以OO方式修改返回值设计?

algorithm - 如何有效地存储 IP 地址和 CIDR 范围

javascript - b :dataTable select a single row (and only a single one)