我的网页上有一些链接。单击这些链接应在模式中加载一些自定义文本。这是链接点击的代码:
$('a.modal-link').on('click', openModal);
function openModal(evt) {
evt.preventDefault();
var link = $(this).attr("href");
var text = $(this).text();
safeModal(link, text);
};
function safeModal(linkUrl, linkText) {
var link = linkUrl;
var page = window.location.href.split('?')[0];
var text = linkText;
var ajaxURL = "http://example.com/script_to_load_text.php";
$.ajax({
type: "POST"
, url: ajaxURL
, data: {
link: link
, page: page
}
, success: function (markup) {
$(".feed-modal .modal-body").html(markup);
}
})
};
这是PHP脚本:
<?php
$url = $_POST['link'];
$page = $_POST['page'];
$article = '';
$section = explode('/',$page);
$text = file_get_contents('../'.$section[3].'/article.dat');
$feed = explode('§',$text);
for($index = 0; $index < count($feed); $index++) {
if(strpos($feed[$index],$url)!==false){
$article = $feed[$index];
}
}
echo $article;
?>
这可以防止链接在浏览器窗口中打开。但是,如果域启用了CORS ,它将打开模式中的整个网页。我怎么能防止这种情况?