123456789101112131415161718192021222324252627282930313233 |
- 'use strict';
- var inherits = require('inherits')
- , IframeTransport = require('../iframe')
- , objectUtils = require('../../utils/object')
- ;
- module.exports = function(transport) {
- function IframeWrapTransport(transUrl, baseUrl) {
- IframeTransport.call(this, transport.transportName, transUrl, baseUrl);
- }
- inherits(IframeWrapTransport, IframeTransport);
- IframeWrapTransport.enabled = function(url, info) {
- if (!global.document) {
- return false;
- }
- var iframeInfo = objectUtils.extend({}, info);
- iframeInfo.sameOrigin = true;
- return transport.enabled(iframeInfo) && IframeTransport.enabled();
- };
- IframeWrapTransport.transportName = 'iframe-' + transport.transportName;
- IframeWrapTransport.needBody = true;
- IframeWrapTransport.roundTrips = IframeTransport.roundTrips + transport.roundTrips - 1; // html, javascript (2) + transport - no CORS (1)
- IframeWrapTransport.facadeTransport = transport;
- return IframeWrapTransport;
- };
|