如何创建返回html

时间:2019-01-29 16:52:35

标签: javascript

首先,感谢您阅读我的问题,并尝试帮助我并为我的英语道歉。

我的想法是创建一个库,该函数从index.html返回一个html。 例如,我用index.html

中的Video.generateIframe("1", controls, "video1")调用函数

“ 1”是我的视频的ID,控件是要显示的选项数组,“ video1”是div的ID。

我的问题是我不知道如何返回html,好吧……当我执行javascript返回下一个错误时:

  

未捕获到的SyntaxError:意外的严格模式保留字。

如何解决?

var Video = (function () {

    'use strict';

    var publicAPIs= {};

    // public method
    publicAPIs.generateIframe = function(id, controls, target) {

        let src = generateSrc(id, controls);

        let iframe = '\n<div id=\'' + target + '\'>\n\t<iframe frameBorder="0" src=\'' + src + '\'>\n\t\t<p>Your browser not support iframes.</p>\n\t</iframe>\n</div>';
    };

    // private method
    var generateSrc = function(id, controls) {
        let urlServer = `http://example.com/panel?selectVideo=${id}`;

        (controls.video) ? urlServer += '&video=1' : urlServer+= '&video=0';
        (controls.stop) ? urlServer += '&stop=1' : urlServer+= '&stop=0';
        (controls.fullscreen) ? urlServer += '&fullscreen=1' : urlServer+= '&fullscreen=0';

        return urlServer;
    };

    return publicAPIs;

})();

编辑:

对不起,变量是publicAPIs ... 我用div容器生成一个字符串,现在我认为我应该附加到其他html组件,即父html组件?

2 个答案:

答案 0 :(得分:1)

  

=SUMPRODUCT((B2:B7=1)/(COUNTIFS(A2:A7,A2:A7,B2:B7,1)+(B2:B7<>1))) public关键字是 OOP (面向对象编程)中的访问修饰符。   它不是用JavaScript实现的。但是,这些当前保留供将来使用。

这是一个SyntaxError,因为变量名不能包含这些语法以外的词。 将其重命名为其他名称即可解决此问题。 (例如) privatepubLic

答案 1 :(得分:0)

我解决了!我希望它很好,或者如果您可以向我展示更好的解决方案,我对此表示赞赏。

var Video = (function () {

    'use strict';

    var publicAPIs= {};

    // public method
    publicAPIs.generateIframe = function(id, controls, target) {

        let src = generateSrc(id, controls);

        appendToDiv(src, target);
    };

    // private method
    var appendToDiv = function(link, target) {
        var iframe = document.createElement('iframe');
        iframe.frameBorder = 0;
        iframe.width="500px";
        iframe.height="400px";
        iframe.id="iframe-" + target;
        iframe.setAttribute("src", link);
        document.getElementById(target).appendChild(iframe);
    };

    // private method
    var generateSrc = function(id, controls) {
        let urlServer = `http://example.com/panel?selectVideo=${id}`;

        (controls.video) ? urlServer += '&video=1' : urlServer+= '&video=0';
        (controls.stop) ? urlServer += '&stop=1' : urlServer+= '&stop=0';
        (controls.fullscreen) ? urlServer += '&fullscreen=1' : urlServer+= '&fullscreen=0';

        return urlServer;
    };

    return publicAPIs;

})();