javascript写入.txt文件onclick

javascript写入.txt文件onclick,javascript,onclick,flat-file,Javascript,Onclick,Flat File,我有一些swf应用程序,当在页面上单击指向swf文件的链接时,会在灯箱中打开 这是触发灯箱所需的纯标准链接 <a href"http:// {url} /swf/ {file} .swf">Name</a> 我假定换行符是用实现的\r\n 我不一定需要写文件扩展名,但是我想写完整的链接url会更容易 我一直使用的方法是提交onclick的隐藏表单,但它不是很经济,因为我需要隐藏iframe等等。。。。。。太多的工作,当我认为这可以实现在一个脚本 我可以轻松地更改现有的链

我有一些swf应用程序,当在页面上单击指向swf文件的链接时,会在灯箱中打开

这是触发灯箱所需的纯标准链接

<a href"http:// {url} /swf/ {file} .swf">Name</a>
我假定换行符是用实现的\r\n

我不一定需要写文件扩展名,但是我想写完整的链接url会更容易

我一直使用的方法是提交onclick的隐藏表单,但它不是很经济,因为我需要隐藏iframe等等。。。。。。太多的工作,当我认为这可以实现在一个脚本

我可以轻松地更改现有的链接生成脚本,以便它可以添加

onClick="new_function()"
或者是它的任何变体,以便能够将它链接到函数

我对javascript不是很有经验,我知道单击脚本需要客户端:(


如果有人能帮助我,请提前感谢,cheers

Javascript没有访问服务器文件系统的权限,无法向文件写入任何内容。但是,您可以使用Javascript(读取Ajax)运行PHP文件,将发送到文件的任何数据写入文件

对于Ajax请求,使用jQuery是迄今为止最简单的解决方案,因为用vanilla JS编写XMLHttpRequests要复杂一些

HTML:

<a href"http:// {url} /swf/ {file} .swf" id="mylink">Name</a>
在PHP中,您将从$\u POST superglobal获取数据,如下所示:

$data = $_POST['swf'];

然后使用file_put_contents或其他许多解决方案之一将数据保存到文件中,因为您已经使用了表单,所以我不打算讨论这一部分。您也可以在PHP中生成时间戳,同时附加它,而无需在JS中执行此操作。当然,这比这更复杂,例如您应该在$\u POST上执行正常的isset检查,并清理来自客户端的任何数据,但是如果您自己进行一些阅读和测试,您很快就会发现这一点,这其实并不难,只需几行代码就足以获得一个基本的示例,说明您正在尝试启动和运行的内容。

这是一个优秀的解决方案我已经在我的网站上实现了许多与php的平面文件交互,我已经在我的网站上实现了很多与php的平面文件交互,非常感谢,在上面的例子中,我给了你的“”元素一个“mylink”的ID,在jquery中您可以看到的代码中有一个“#mylink”click函数,它实际上会在每次单击元素时运行Ajax。$\u POST变量中的数据来自Ajax函数中的data:attribute,您将在那里看到相同的名称“swf”,而存储在$\u POST中的值是冒号后面的任何值。您可以访问jQuery的网站“jQuery.c”要了解更多关于jQuery函数的信息,第一次似乎有点难,但掌握基本知识并不需要多少时间。好的,我找到了编写ajax请求的教程,我可以使用这个xmlhttp.send(“fname=Henry&lname=Ford”)将数据发送到表单..但是我如何获得这个请求来发送变量(“http://{url}/swf/{file}.swf”…我将从onclick事件激活请求,但是如何从调用onclick函数的链接发送'href'值?^^^^每个页面上都有多个链接,所以我很困惑,
$("#mylink").click(function() {
    $.ajax({ 
       type: 'POST', 
       data: {swf : '1328984654|http: {url} /swf/ {file} .swf'}, 
       url: 'write_to_file.php',
       success: function(data) {
          alert('file saved');
       },
       error: function() {
          alert('error');
       }
    });
});
$data = $_POST['swf'];