我用脚本加载内容,脚本将生成一个iframe。
var egmWidgetUrl = '//www.domain.com/widget2';
var referer = '';
if(location.host){
referer = encodeURIComponent(location.host);
}else{
referer = 'unknown';
}
fussballdeWidgetAPI = function() {
var D = new Object();
var C = new Object();
D.showWidget = function(E, K) {
if (K != undefined && K != null && K != "" && E != undefined && E != null && E != "") {
if (document.getElementById(E)) {
if (K != "") {
var src = egmWidgetUrl + "/-"
+ "/schluessel/" + K
+ "/target/" + E
+ "/caller/" + referer;
createIFrame(E, src);
}
} else {
alert("Der angegebene DIV mit der ID " + E
+ " zur Ausgabe existiert nicht.")
}
}
};
window.addEventListener("message", receiveMessage, false);
function receiveMessage(event)
{
if (event.data.type === 'setHeight'){
document.querySelectorAll('#' + event.data.container + ' iframe')[0].setAttribute('height', event.data.value + 'px');
}
if (event.data.type === 'setWidth'){
document.querySelectorAll('#' + event.data.container + ' iframe')[0].setAttribute('width', event.data.value + 'px');
}
}
return D
};
function createIFrame(parentId, src){
var parent = document.getElementById(parentId);
var iframe = document.createElement('iframe');
iframe.frameBorder=0;
iframe.setAttribute("src", src);
iframe.setAttribute("scrolling", "no");
iframe.setAttribute("width", "300px");
iframe.setAttribute("height", "500px");
iframe.setAttribute("style", "border: 1px solid #CECECE;");
parent.innerHTML="";
parent.appendChild(iframe);
}

<script type="text/javascript"
src="style/fussball_de.js">
</script>
&#13;
对conetent的调用是:
<script type="text/javascript">
new fussballdeWidgetAPI().showWidget('widget1', '01PD126RC8000000Vxxxxxxxxxx');
</script>
在生成的iframe中将是超链接,我想禁用超链接,例如与&#34;#&#34;。我尝试了不同的方法,但没有任何帮助。
$("iframe").load(function() {
$("iframe").contents().find("a").each(function(index) {
$(this).on("click", function(event) {
event.preventDefault();
event.stopPropagation();
});
});
是否可以禁用该脚本中的超链接?
谢谢!
答案 0 :(得分:1)
如果iframe的内容从其他域加载到主页面,那么出于安全原因,您将无法通过JavaScript访问其内容。
如果您控制加载到iframe中的内容,则可以在加载的页面中使用一些JavaScript代码detect whether it is running within an iframe并禁用链接。
答案 1 :(得分:1)
除了使用CSS在iframe上放置透明图像外,别无他法。
修改强>
在HTML文档中的<div id="IframeWrapper" style="position: relative;">
标记上方输入代码<iframe>
。
在步骤1中输入的行下方输入代码<div id="iframeBlocker" style="position: absolute; top: 0; left: 0; width: [width]px; height: [height]px"></div>
。将[width]和[height]替换为iframe的宽度和高度。
在iframe代码下方输入结束div标记</div>
。