仅替换 iframe 源的一部分
Replacing only part of an iframe src
我需要使用 javascript 来更改 iframe src 的一部分,有没有办法在该 iframe src 中将 '500' 更改为 '800'?我尝试了以下代码,但它不起作用。如果有人能帮忙,将不胜感激。
function bigPhotosets() {
$('iframe.photoset').each(function(){
$(this).attr('src').replace('500','800');
$(this).attr('width').replace('500','800');
});
}
bigPhotosets();
.replace()
返回一个新字符串,你没有对它做任何事情。
您需要将src
设置为此新字符串:
var newSrc = $(this).attr('src').replace('500','800');
$(this).attr('src', newSrc);
还有更快的方法可以做到这一点。
这段代码只是在 src 属性中返回,替换一些文本,什么都不做。试试这个:
$(this).attr('src', $(this).attr('src').replace('500','800') );
我相信SLaks的答案是正确的。当我在您的 tumblr 页面上的控制台中使用他的代码时,它正确地更改了源代码。但是,宽度没有改变,需要调整高度。
我将以下代码粘贴到 http://jtestblog1.tumblr.com/post/26387860417/aquaticwonder-dancing-alone-portraits-by-caiti 上的控制台(在 Chrome 上),它按照您所说的工作方式工作。
function bigPhotosets() {
$('iframe.photoset').each(function(){
var newSrc = $(this).attr('src').replace('500','800');
$(this).attr('src', newSrc).width(800).height(912);
});
}
bigPhotosets();
我会担心您的 URL 中存在另一个500
。这会弄乱网址。如果它总是在 URL 的末尾,您可能希望使用正则表达式,如果它只出现在 URL 的末尾,则只会替换 500。
即将第 3 行更改为
var newSrc = $(this).attr('src').replace(/500$/,'800');
仅当 500 位于 URL 的末尾时,它才有效(如果大小始终位于 URL 的末尾,这是一件好事)。在你的 tumblr 上,大小在 URL 的末尾,所以这个正则表达式有效。
最简单的方法。将旧的 src 替换为相同的 src,但 500 替换为 800。
$(this).attr('src', $(this).attr('src').replace('500','800') );
在第一个答案的评论中的链接中,它不起作用,因为 iframe src 中没有 500 但有 600。
另请注意,您必须同时注意宽度属性和 css 宽度。
这会给你
$(this).attr('width', 800);
$(this).css('width', 800);
在此之后,唯一剩下的就是根据您更改宽度的方式按比例调整 iframe 的高度。这是oldHeight*800/500(或在您的实际情况下为800/600)。
- 防止Iframe窗体在新窗口中打开
- 将样式表插入iframe
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 使用jQuery从原始页面内容创建iframe
- Highslide(iframe的侦听器)
- iframe正在添加标签,需要删除它们
- 仅替换 iframe 源的一部分
- 使用 iframe 显示网页的一部分
- 基于用户输入替换iFrame URL的一部分
- 在iframe中显示DIV的一部分
- 在iframe中加载网页,但替换iframe页面中url的一部分
- 使用iframe预览并嵌入文件的一部分
- Javascript在Iframe或文件中打开时失败,但在作为Rails服务器的一部分打开时有效
- 如何使iframe内容被索引为它的父容器的一部分
- 如何在没有iframe的情况下从样式和css规则的正常流程中删除网页的一部分?
- 是否有一种方法可以将网站的某一部分调用到iframe中?
- 在页面的一部分上播放Flash视频 - iframe与DIV和包含在PHP中
- 如何使用 iframe 而不是 ajax 重新加载网页的一部分
- 用iframe标签显示网站的一部分