Không có gì dễ dàng hơn người đàn ông đó. Hãy thử cách này:
<?xml version="1.0" encoding="iso-8859-1"?>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css" type="text/css" />
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js"></script>
<style>
.loading { background: url(/img/spinner.gif) center no-repeat !important}
</style>
</head>
<body>
<a class="ajax" href="http://www.google.com">
Open as dialog
</a>
<script type="text/javascript">
$(function(){
$('a.ajax').click(function() {
var url = this.href;
// show a spinner or something via css
var dialog = $('<div style="display:none" class="loading"></div>').appendTo('body');
// open the dialog
dialog.dialog({
// add a close listener to prevent adding multiple divs to the document
close: function(event, ui) {
// remove div with all data and events
dialog.remove();
},
modal: true
});
// load remote content
dialog.load(
url,
{}, // omit this param object to issue a GET request instead a POST request, otherwise you may provide post parameters within the object
function (responseText, textStatus, XMLHttpRequest) {
// remove the loading class
dialog.removeClass('loading');
}
);
//prevent the browser to follow the link
return false;
});
});
</script>
</body>
</html>
Lưu ý rằng bạn không thể tải từ xa từ địa phương, vì vậy bạn phải tải tệp này lên máy chủ hoặc bất kỳ thứ gì. Cũng lưu ý rằng bạn không thể tải từ các tên miền nước ngoài, vì vậy bạn nên thay thế href của liên kết đến một tài liệu được lưu trữ trên cùng một tên miền (và here's the workaround).
Cheers
Thực ra, tôi không chắc đây là thứ bạn đang tìm kiếm, tôi sẽ quay lại và cập nhật trừ khi có ai đó nhặt nó lên. Bạn có thể làm rõ điều gì đang gây ra sự cố không? – cgp