【问题标题】:javascript write to .txt file onclickjavascript写入.txt文件onclick
【发布时间】:2012-03-04 09:59:12
【问题描述】:

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

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

<a href"http:// {url} /swf/ {file} .swf">Name</a>

我一直在尝试实现一个脚本来编写时间戳(日期('U')在 php 编码中,因为这是我需要时间戳的格式)和点击到 txt 文件的链接的“href”值...我一直在使用 onClick="function()"

但我似乎无法让它工作......

我希望像这样将行写入 txt 文件

1328984654|http:// {url} /swf/ {file} .swf
1328984829|http:// {url} /swf/ {file2} .swf

我会假设换行符是用 \r\n

实现的

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

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

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

onClick="new_function()"

或任何能够将其链接到函数的变体......

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

如果有人可以帮助我,请提前感谢,干杯

【问题讨论】:

    标签: javascript onclick flat-file


    【解决方案1】:

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

    对于 Ajax 请求,使用 jQuery 是迄今为止最简单的解决方案,因为在 vanilla JS 中编写 XMLHttpRequests 有点复杂。在 jQuery 中,您会执行以下操作:

    HTML:

    <a href"http:// {url} /swf/ {file} .swf" id="mylink">Name</a>
    

    -

    $("#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');
           }
        });
    });
    

    在 PHP 中,您将像这样从 $_POST 超全局获取数据:

    $data = $_POST['swf'];
    

    然后使用 file_put_contents 或许多其他解决方案之一将数据保存到您的文件中,并且由于您已经使用表单进行了此操作,因此我不打算进入该部分。您还可以在 PHP 中生成时间戳并同时附加它,无需在 JS 中执行此操作。它当然比这更复杂一些,例如你应该对 $_POST 进行正常的 isset 检查,并清理来自客户端的任何数据,但如果你自己做一些阅读和测试,你会发现很快就出来了,真的没那么难,只需几行代码就足以获得一个基本示例,说明您正在尝试做的事情并运行。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    相关资源
    最近更新 更多