Maison > Questions et réponses > le corps du texte
Comme le titre, ce n’est peut-être pas très clair.
Il y a une demande à portée de main. Le chef de produit a déclaré : « Xiao Hu, notre produit doit ajouter une nouvelle fonction, qui doit pouvoir afficher des pages H5 bien écrites, ou fournir un affichage de pages Web aux utilisateurs, comme l'affichage. un certain site d'actualités."
Je pense que, puisque je veux faire une chose aussi malveillante, j'ai déjà utilisé iframe pour intégrer des pages tierces, donc je pourrais aussi bien l'utiliser, et je n'en ai trouvé aucun autre. méthodes.
Ensuite le problème vient. Par exemple, si un site d'information l'embarque, il se retournera contre le client et tuera directement ma page html ! Après des efforts inlassables, il a été découvert que la page Web contenait un « code anti-piratage d'opérateur » le code est le suivant :
<!-- 反运营商劫持 S -->
<style type="text/css">
html {
display:none;
}
</style>
<script>
if( self == top ) {
document.documentElement.style.display = 'block' ;
} else {
top.location = self.location ;
}
</script>
<!-- 反运营商劫持 E -->
Un maître peut-il m'aider à le résoudre ?
Les méthodes suivantes ont été utilisées :
//在主窗口的</head>标签前面添加
<script type="text/javascript">
var location=document.location
</script>
//或者:
<script type="text/javascript">
var location=""
</script>
Cependant, il n’y a pas d’œufs. . .
怪我咯2017-05-19 10:16:12
Ce que le répondant au premier étage a dit est absolument vrai ;
La solution actuelle consiste à désactiver les sauts via le bac à sable « attribut sandbox » de l'ifram
Tous les navigateurs grand public prennent en charge l'attribut sandbox ; Cependant, IE 9 et les versions antérieures ne prennent pas en charge l'attribut sandbox , et Opera 12 et les versions antérieures ne prennent pas non plus en charge cet attribut .
Si vous souhaitez être compatible avec IE8 et versions antérieures, veuillez ignorer la réponse ! ! !
Attributs et valeurs du bac à sable d'iframe :
Si vous n'activez pas la navigation par le haut, vous ne serez pas obligé de sauter ! ! !
Bien sûr, vous constaterez que le contenu de la page ne saute pas mais n'est pas affiché. En prenant xw.qq.com comme exemple, vous constaterez que c'est parce que le code HTML dans l'iframe est défini sur "display:none" ;
//以下代码在已webview形式嵌套到android中的html页面有效
$(window.frames["iframe的id"].document).find("html").css('display', 'block') //基于jQuery
L'antidote n'a pas encore été trouvé sur le PC
L'erreur est signalée dans tous les domaines ! !
Interface normale (page frontale dans la vue Web Android) :
Code (auto-débogage, pc bypass ! ) :
var iframe = document.createElement("iframe");
iframe.id = "iframeId";
iframe.src = "xw.qq.com";
iframe.style.width = "100%";
iframe.style.height = "100%";
iframe.sandbox = "allow-scripts allow-same-origin";
iframe.frameborder = "0";
iframe.scrolling = "no";
iframe.marginwidth = "0";
iframe.marginheight = "0";
iframe.border = "0";
if (! /*@cc_on!@*/ 0) { //浏览器 不是IE的情况下
iframe.onload = function () {
console.log("已经加载完成!/no IE");
$(window.frames["iframeId"].document).find("html").css('display', 'block');
};
} else {
iframe.onreadystatechange = function () {
if (iframe.readyState == "complete") {
console.log("已经加载完成!/ IE");
$(window.frames["iframeId"].document).find("html").css('display', 'block');
}
};
}
$this.appDom.html(iframe);
滿天的星座2017-05-19 10:16:12
http://www.w3school.com.cn/tags/att_iframe_sandbox.asp
这个怎么样?阻止操作包含的。但是不阻止执行脚本。
或者你就别用iframe了。你就放一个截图。然后想看的时候a标签跳转呗