首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >裁剪页面的一部分

裁剪页面的一部分
EN

Stack Overflow用户
提问于 2014-04-04 12:31:35
回答 1查看 222关注 0票数 4

为了截图,我想隔离页面的特定部分/元素(使用CSS选择器指定)。

我怎么能这么做?

我认为这可能是通过将页面包装到一个或一个IFrame中实现的,但不知道如何继续。

我想避免重新加载页面。

编辑:--我实际上用另一种方法解决了这个问题--在获得Javascript:https://gist.github.com/amenk/11208415中的元素坐标之后,我使用提取了这个部分。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-07 09:12:43

工作-NO IE-

http://jsfiddle.net/8Rx34/:在本测试用例"box1“或"box2”或"box3“或"box4”或"box5“中,将其与id一起使用。

测试了一点似乎没问题。这是为了获得一个元素ID并应用myScreenshot类。

myScreenshot css代码:

代码语言:javascript
复制
.myScreenshot {
 position: absolute;
 left:0px;
 top: 0px;
}

然后,复制所选的dom元素(和他的孩子),作为身体的第一个元素。

代码语言:javascript
复制
$('body').prepend($('#myIdElementToCrop'));

在body>*{显示后:无;}

代码语言:javascript
复制
.myScreenshot:first-child{
  display: initial !important;
}

要让所有元素正常工作,所有这些都必须作为css中的隐藏元素开始,使用js必须捕捉元素的宽度,以便将其应用于元素的复制,这样每次都会显示正确的宽度。

代码语言:javascript
复制
$(function() {
     var idOfDom = prompt("Insert ID of DOMElement to apply myScreenshot");
     if ($('#'+idOfDom).length > 0){
         var actualWidth = $('#'+idOfDom).width();
        $('body').prepend($('#'+idOfDom));
        $('#'+idOfDom).addClass("myScreenshot").css('width',actualWidth);
        $('body>*').css('display', 'none').css('visibility','visible');
     }
}); 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22862904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档