0
我們試圖避免iframe,而是使用javascript,jquery,jsonp和基於php的web小部件來顯示來自我們的跨域html網站的內容。我們希望在小部件中按原樣顯示完整頁面,但是從我們閱讀的所有教程中,我們需要提供JSON數據類型才能使跨域JSONP正常工作。如何使用JSONP顯示純HTML
下面是我們嘗試 -
主要JS
function render() {
jQuery.getJSON(serverFQDN + '/widget.php?callback=?', {
install_url: window.location.href
}, serverResponse);
}
function serverResponse(data) {
jQuery(container).html(data.html);
}
Widget.php
<?php echo $_GET['callback'] ?>({
"html": "<?php echo 'hello'; ?>"
});
我們能夠顯示簡單的HTML實體,如 -
<?php echo $_GET['callback'] ?>({"html": "<li>TEST</li>"
} );
但不是完整的頁面即
<?php
$url = "http://localhost/page.html";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$output = curl_exec($curl);
curl_close($curl);
$output = json_encode($output);
echo $_GET['callback'] ?>({"html": "<?php echo $output; ?>"
});