옵션 매개 변수의 JSON 객체를 어떻게 전달하여 새 창을 열 수 있습니까?

StackOverflow https://stackoverflow.com/questions/2420410

  •  19-09-2019
  •  | 
  •  

문제

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의 개념과 함께 큰 사용법으로 만오고 있습니다.

Window Opener 도우미를 원한다면 매개 변수에 대한 필드가있는 JS 객체를 빌드하고 toString ()을 무시할 수 있습니다.

아니요,하지만 자신만의 래퍼를 쉽게 쓸 수 있습니다.

기능이 쉼표로 분리 된 창 기능 목록이므로 그렇게 생각하지 않습니다.

에서 MDC

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

객체를 받아들이고 window.open() 적절한 주장과 함께

JSON 객체를 구문 분석하고 구문 분석을 기반으로 특정 매개 변수로 Window.Open () 함수를 호출하기 위해 자신만의 기능을 만들 수 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top