对window.open()对象具有一些时髦参数列表...

是有办法像做window.open({选项..});

思想?

有帮助吗?

解决方案

有是内置于语言没有这样的设施。

不过,这也很容易自己写一个。结果 例如:

function popup(url, name, options) {
    if (arguments.length === 2) {
        options = name;
        name = options.name;
    }

    var features = false;

    for (var key in options) {
        if (!options.hasOwnProperty(key)) continue;
        if (key === "name") continue;

        if(features)
            features += ",";

        features += key + "=";

        if (!options[key])
            features += "no";
        else if (options[key] === true)
            features += "yes";
        else
            features += options[key];
    }
    return window.open(url, name, features);
}

其他提示

以及

function newWindow(options) {
  var opts = [], keys = ['height', 'width', 'scrollable', /* all those options */];
  for (var i = 0; i < keys.length; ++i) {
    if (keys[i] in options)
      opts.push(keys[i] + '=' + options[keys[i]]);
  }
  return window.open(options.url, options.name, opts.join(','));
}

您可以传递options作为URL参数:

window.open( myURL + "/?options=" + JSON.stringify(options) );

没有。这就是所谓的使用JavaScript DOM功能。

在任何情况下,“选项对象”策略确实只进入如此巨大的用法与JSON的概念,其通过一段时间的DOM规范preceeds。

您可以建立一个JS对象与参数字段,如果你想开窗器的辅助覆盖的toString()。

没有,但你可以写自己的包装很轻松了。

我不这样认为作为特征是逗号分隔的窗口功能列表

从的 MDC

var WindowObjectReference = window.open(strUrl, 
                                        strWindowName  
                                        [, strWindowFeatures]);

有什么从编写的包装虽然接受对象阻止你,然后用适当的参数调用window.open()

你可以让自己的函数解析JSON对象,并调用window.open()的基础上,分析具体PARAMS功能?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top