V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xihefeng
V2EX  ›  问与答

部分 JavaScript 为什么需要服务器环境才能执行呢?

  •  
  •   xihefeng · 2015-12-10 13:06:15 +08:00 · 2299 次点击
    这是一个创建于 3305 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个使用 Js 做的插件,点击复制文字的功能。
    文章链接: http://www.cnblogs.com/zmhaki/p/3205534.html
    Demo 链接: http://files.cnblogs.com/PeunZhang/jquery.zclip.zip

    测试发现只有在服务器环境下才可以执行成功,但是直接本地文件打开就不可以。
    使用关键词“ JavaScript 服务器”搜索出来的都是 NodeJs ,我不是专业搞 Web 全端的,
    专门搞这个的基友也不懂啊,求大神调教!
    为什么会是这样?原理是什么?

    9 条回复    2015-12-10 14:16:03 +08:00
    shyling
        1
    shyling  
       2015-12-10 13:11:39 +08:00   ❤️ 1
    ajax 好像在 file:///下不能用。。
    FrankFang128
        2
    FrankFang128  
       2015-12-10 13:12:10 +08:00   ❤️ 1
    因为这个 Flash ,必须在 HTTP 环境下。
    lxrmido
        3
    lxrmido  
       2015-12-10 13:12:11 +08:00   ❤️ 1
    嗯,挑简单的说吧:
    你做页面的时候,肯定会发现有时地址栏是 http://,有时是 file:///的吧
    http 打头的就是上文所说的“需要服务器环境”,为什么“需要服务器环境”?
    因为浏览器跟 flash 都有访问权限以及跨域的问题。
    总之,你只要实现用 http://来访问这个 demo 就行了
    xihefeng
        4
    xihefeng  
    OP
       2015-12-10 13:13:08 +08:00
    @shyling 但是整个源码中完全没有使用 ajax 啊,真是日乐购了
    xihefeng
        5
    xihefeng  
    OP
       2015-12-10 13:15:06 +08:00
    @FrankFang128 但是删除 swf 文件后,在 Chrome 中还是可以继续使用
    des
        6
    des  
       2015-12-10 13:15:22 +08:00   ❤️ 1
    火狐可以, chrome 要手动加标志
    learnshare
        7
    learnshare  
       2015-12-10 13:20:20 +08:00
    是通过 HTTP 服务器访问这个网页
    gordonFreeman
        8
    gordonFreeman  
       2015-12-10 14:04:47 +08:00
    3 楼正解
    咱比较懒,一般都直接 python -m SimpleHTTPServer
    tanxiaoqing
        9
    tanxiaoqing  
       2015-12-10 14:16:03 +08:00
    为了安全性。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2584 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:17 · PVG 08:17 · LAX 16:17 · JFK 19:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.