php 触发远程js,javascript – 提供JS或iframe,如分析和statcounter到其他网页,以远程运行我的PHP JS脚本...

在我看来,你有三个选择.

1.使用JSONP

JSONP允许您进行跨域ajax调用,以便您可以从其他域呼叫您的家庭服务器,而不会被阻止.

这可能是我想的最简单的路线.

JSONP通过动态地向文档中添加一个脚本,然后调用回调.

这些javascript文件的内容需要由服务器生成,您的PHP文件add-to-mysql.php将不得不回显这样的东西:

= htmlspecialchars($_GET["callback"]) =>('someData you want to return');

您可以访问通过$_GET数组从jQuery传入的一个参数,因为这只是一个GET请求.

从客户端可以这样称呼这条路线:

请注意,这将永远是一个GET请求,所有参数将通过URL.

‘callback’参数是这里的连接因子,它确保PHP端知道要生成的JavaScript函数.

$.ajax({

jsonp: 'callback',

dataType: "jsonp",

url: 'http://my-server.com/add-to-mysql.php',

data: { one: hash }, //an antikatastiso to hash me to a ke kano to md5 meso php sto ajax vgenei to idio

success: function(data) {

alert("success! X: " + data);

}

});

2.使用CORS

CORS将允许您对其他运行JS的域进行ajax调用.但是,这需要您从服务的html页面发送特殊的HTTP头,因此这需要您修改服务器.

看到这里有一个关于CORS的qucik介绍:

简而言之,您需要从服务的html页面设置的标题是:

Access-Control-Allow-Origin: http://domain.com

Access-Control-Expose-Headers: list,of,headers

3.发布到iFrame

发布隐藏的iFrame也是一个选择.

为此,您需要将表单的目标设置为iframe的名称,这里的优点是可以使用POST.您也可以通过jQuery提交并填写表单.

$('#one_input').val('someHash');

$('#myForm').submit();

如果您不想在页面上显示,您可以将所有内容放在隐藏的div中:

如果您不需要任何反馈,您也可以使用参数设置iframe的网址.

var hash = 'stuff';

document.getElementId('one_input').src="http://my-server.com/add-to-mysql.php?one=" + hash;

额外

你也可以使用iframe与Window.postMessage

基于上一个例子:

$('#my_iframe')[0].contentWindow.postMessage('hash', 'my-server.com');

但这需要您已经在您的iframe中加载了一个页面,然后将通过JavaScript接收消息,因此我不认为这是您要查找的内容.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值