javascript - 从父选项卡读取变量

标签 javascript jquery

我正在尝试在用户浏览我的网络应用程序的同时上传视频。

为此,我尝试在后台打开一个新选项卡,其中包含一个简单的页面,其中包含一个新的 javascript 库,该库仅上传视频并传递其所需的所有参数。

现在所有内容都在 1 个库中,因此我看不到如何创建我正在寻找的新线程。

下面我粘贴了我正在使用的代码:

var blob;

function xhr(url, data, callback) {
    'use strict';

    var request = new XMLHttpRequest();
    request.onreadystatechange = function () {
        if (request.readyState === 4 && request.status === 200) {
            callback(request.responseText);
        }
    };
    request.open('POST', url);
    request.send(data);
}

function sendVideo(name, path) {
    'use strict';

    var formData = new FormData();

    formData.append('filename', name + '.webm');
    formData.append('video', blob);
    formData.append('title', $('.title').val());
    formData.append('tag1', $('#tag1').val());

    if ($('#tag2').val()) {
        formData.append('tag2', $('#tag2').val());
    }

    if ($('#tag3').val()) {
        formData.append('tag3', $('#tag3').val());
    }

    xhr(path, formData, function (fName) {
        if (fName === 'success') {
            window.alert('Your video has been succesfully uploaded');
        } else {
            window.console.log(fName);
        }
    });
}

<div onclick="sendVideo(1, 'test');">Send</div>

此外,我愿意接受有关解决此问题的不同方法的新建议。

感谢您的建议。

最佳答案

它似乎非常适合网络 worker 。

Web Workers 是 HTML5 中的一个相当新的工具,它允许您在页面上“使用”多线程。

我使用它们在后台完成大文件加载。

查看 Eric Bidelman 撰写的关于该主题的精彩文章以获取更多信息: http://www.html5rocks.com/en/tutorials/file/filesystem-sync/

关于javascript - 从父选项卡读取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31586926/

相关文章:

javascript - 完整 ISO 8601 日期语法的正则表达式

jquery - 如何从测试中排除IE9或更高版本?

javascript - jQuery 对类的一个元素的值进行动画处理

jquery - jsplumb.connect() 使用现有端点而不是创建新端点

javascript - 更新父页面上的 Div,最好使用 jQuery

javascript - JavaScript 中的存在运算符?

javascript - 在 Ubuntu 中设置用于开发 Windows Phone 8 应用程序的环境

javascript - 将 Php 数组作为 Javascript 数组值传递

javascript - 如何处理非英语按键

javascript - 从列表中获取所有 id