ColorBox iframe - 在服务器上找不到请求的 url /未定义
Posted
技术标签:
【中文标题】ColorBox iframe - 在服务器上找不到请求的 url /未定义【英文标题】:ColorBox iframe - requested url /undefined not found on the server 【发布时间】:2012-02-21 06:10:28 【问题描述】:我一直在尝试将最新的ColorBox jquery 插件添加到我正在构建的站点中,每次我尝试在 ifrae 弹出窗口中加载 url 时,我都会在 iframe 中显示以下消息(框架本身生成完美 - 它只是无法提取内容):
>Not Found
>
>The requested URL /myfolder/undefined was not found on this server.
我已经尝试使用在本地找到的链接(例如 info_page.php)和外部链接(例如 http://www.google.com)。我无法弄清楚为什么它没有加载,因为我的代码几乎是直接从 colorBox 示例中提取的。
我的 html(在头部)是:
<!--COLORBOX-->
<link rel="stylesheet" href="css/colorbox.css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script src="javascript/jquery.colorbox.js"></script>
<script>
$(document).ready(function()
//Examples of how to assign the ColorBox event to elements
$(".group1").colorbox(rel:'group1');
$(".group2").colorbox(rel:'group2', transition:"fade");
$(".group3").colorbox(rel:'group3', transition:"none", width:"75%", height:"75%");
$(".group4").colorbox(rel:'group4', slideshow:true);
$(".ajax").colorbox();
$(".youtube").colorbox(iframe:true, innerWidth:425, innerHeight:344);
$(".iframe").colorbox(iframe:true, 'href' : $(this).attr('href'), width:"80%", height:"80%");
$(".inline").colorbox(inline:true, width:"50%");
$(".callbacks").colorbox(
onOpen:function() alert('onOpen: colorbox is about to open'); ,
onLoad:function() alert('onLoad: colorbox has started to load the targeted content'); ,
onComplete:function() alert('onComplete: colorbox has displayed the loaded content'); ,
onCleanup:function() alert('onCleanup: colorbox has begun the close process'); ,
onClosed:function() alert('onClosed: colorbox has completely closed');
);
//Example of preserving a JavaScript event for inline calls.
$("#click").click(function()
$('#click').css("background-color":"#f00", "color":"#fff", "cursor":"inherit").text("Open this window again and this message will still be here.");
return false;
);
);
</script>
<!--END COLORBOX-->
我用来生成这个的正文链接是:
<a class="iframe" href="http://google.com/">Test</a>
javascript 文件和 css 文件与 colorBox 网站上的文件没有任何变化。任何帮助将不胜感激 - 如果需要更多信息,请告诉我。
(注意:我目前在本地运行该站点) http://jacklmoore.com/colorbox/
【问题讨论】:
【参考方案1】:你用的是什么浏览器?
ColorBox 使用 ajax 动态加载内容,许多浏览器会阻止该操作作为安全策略的实现。在本地开发有时会无意中导致被禁止的情况。
需要考虑的事项:
您是否在所有浏览器中都看到了这种行为? 你能把项目安装在真正的远程服务器上吗?
PS。抱歉,这并不是真正意义上的“答案”……
【讨论】:
嗨,Kevin M,感谢您的回答。我正在使用最新的 Chrome 并在 Firefox 上进行了测试——两者都存在同样的问题。我现在没有要上传到的虚拟主机,但是在本地进行的其他 Ajax 调用似乎可以工作。这很奇怪——我就是想不通。 嗨 Josh,在以下情况下,您的代码在 Chrome 16.0.912.blah blah 和 FFox 7.0.1 上非常适合我:(a) href 指向本地文件,(b) href 指向使用完整格式的外部链接 ("=== http : // www.bing.com ===")。能不能就这么简单?请注意,我在测试中仅使用了语句 $(".iframe").colorbox... ,因此演示代码中的其他地方可能存在冲突。 (如果不需要,请注释掉...) 对不起,上面引用的必应网址一团糟;我无法击败 SO 的自动格式化。关键是将您的 URL 引用更改为更完全合格的格式。 谢谢凯文。我很想说最后什么起作用或不起作用,但基本上我只是从头开始重新安装整个代码(例如,摆脱所有颜色框引用,然后重新添加它们)和它然后工作。如果有人遇到同样的问题,我们深表歉意 - 我无法确定确切的原因,但这为我解决了问题。以上是关于ColorBox iframe - 在服务器上找不到请求的 url /未定义的主要内容,如果未能解决你的问题,请参考以下文章
Colorbox - 在颜色框内容中删除自定义 iframe 时防止父页面重新加载?