我希望创建一个小部件/插件,可以在单击时发送一个简单的变量。这个想法是,当这个小部件被添加到一个博客,并被其中一个读者点击时,它会向我的域发送一条消息(例如,www.example.com
),其中包含相关博客的网址(哪个可以然后用于增加计数或某事,例如)。
我对小部件/插件很新,所以我不完全确定这是否可行。我不打算用代码填充,只需在正确的方向上指点一些就会有很大的帮助。
原谅我,我还没有尝试任何事情,因为我不确定从哪里开始。如果我需要提供更多信息,如果我的标签不正确,或者我的问题不清楚,请告诉我!
答案 0 :(得分:1)
大多数可分发的小部件都有以下几个方面:
窗口小部件脚本(由您控制)并由最终用户包含在其站点中。
像<script src="http://example.com/yourAwesomeScript.php"></script>
这样的地方,其中example.com是您的网站或cdn。
窗口小部件容器(由最终用户嵌入)告诉脚本在哪里注入窗口小部件代码。如果您的窗口小部件不依赖于位置容器(例如,固定/绝对元素),则可以跳过此窗口。
您可以使用jQuery这样的Javascript库,让您的生活更轻松地在Javascript中进行编码。
我在非常基本的小部件下面订阅。我使用PHP输出Javascript,这将允许您的小部件发送动态数据。您也可以将params传递给您的脚本,如
http://example.com/yourAwesomeScript.php?user_key=1234564789
的最终user.html 强>
头
<script src="http://example.com/yourAwesomeScript.php"></script>
体
<div id="widgetCont"></div>
<强> yourAwesomeScript.php 强>
<?php
if($_POST){
if($_POST['email']){
$new_subscribed = true ; //check and add to database and return if subscribed
if($new_subscribed){
echo "You have successfully subscribed";
}else{
echo "You are already subscribed";
}
}
}else{
?>
$(document).ready(function(){
$input = $('<input/>').prop("type","text").prop("id","widget_email");
$submit = $('<input/>').prop("type","button").prop("value","Subscribe").prop("id","submit_email");
$('#widgetCont').html($input,$submit);
$('#widgetCont #submit_email').click(function(){
$.ajax({
url : "http://example.com/yourAwesomeScript.php",
method : "post",
data : {email:$("#widget_email").val()},
success :function(data){
alert(data);
}
})
});
});
<?php
}
?>
我希望这会有所帮助。
答案 1 :(得分:0)
在PHP中,您可以使用cURL
激活其他域上的代码。您可以在cURL
中设置将发送到该页面的GET或POST变量。然后可以通过$_GET
和$_POST
数组在PHP中操作它们。
答案 2 :(得分:0)
您应该尝试在域上设置HTTP服务,然后创建一个窗口小部件,对您的HTTP服务执行POST请求。
PHP的一个很好的功能是cURL
。
Client URL Library
以下是如何使用cURL
的小指南
cURL guide