0

我对 Jquery 很陌生,而 colorobox 很特别。我正在使用以下内容打开颜色框:

jQuery().colorbox({
        href: 'http://example.com#oslc-core-postMessage-1.0',
        iframe:true,
        width:"1100px",
        height:"80%"
    });

在颜色框中提交信息后,如果我使用 iframe,我会得到以下信息:

{"oslc_cm:message":"oslc_cm:create","oslc_cm:results":[{"oslc_cm:label":"TA41071:Test", "rdf:resource":"https://example.com/TA41071"}]}

问题是:如何从颜色框中获取 json 值?现在颜色框只是保持打开,空白,没有任何反应。

4

1 回答 1

0

我可以通过执行以下操作来获取 json:

function createListener()
{
window.addEventListener('message', 
  function (event) {
  try { 
    jQuery().colorbox.close();
    var message = event.data;
    if (message.indexOf("oslc-response:")>-1) {
      message=message.substring(14);
    } else {
      alert('Error. return message should start with "oslc-response:".');
      return;
    }
    handleMessage(message);
  } catch (e) {
     // ignore: access exception when trying to access window name
  }
  }
, false );
}

( function($) 
{
$(document).bind('cbox_load', createListener());        
} ) ( jQuery );
于 2013-02-18T15:55:28.600 回答