使用 JQuery Mobile 和 JQuery Mobile 缩放 HTML 内容音位间隙

发布于 2025-01-07 19:17:17 字数 1104 浏览 0 评论 0原文

我需要将 HTML 电子邮件中的内容动态加载到 HTML 中的某种类型的内容区域中,以便进行缩放以适应,这与 iPhone/Android 的本机邮件应用程序完全相同。我花了两天的时间进行谷歌搜索和测试,但没有成功。我正在加载 HTML 内容(通常设置为 width=600 或其他不错的值),但它不是缩放,而是显示如下:

iPhone 模拟器示例

HTML 非常简单:

<div data-role="page" id="messagedetailpage" data-add-back-btn="true">
    <div data-role="content" id="messagedetailcontainer"></div>
</div>

已清理的电子邮件 HTML 被加载到 div(messagedetailcontainer)中,此时我尝试了以下操作:

  1. 调整大小视口:$.mobile.metaViewportContent = "width=device-width, initial-scale=0.5,minimum-scale=0.5, Maximum-scale=0,5";

  2. 在 div 上调用多个触发器,例如: $("#messagedetailcontainer").append(data.msg_body).trigger('updatelayout');

  3. 与#2相同,但具有“创建”、“调整大小”、“加载”和“更改”。

  4. $(window).resize();

  5. 废弃div并将其放入iFrame中(一点运气都没有)

  6. 我研究了iScroll,ScrollView,各种自动缩放.js 示例,但似乎没有什么能满足我的需要。

我开始怀疑这是否可能。如果有人能帮助我,我将永远感激不已。我不介意被困几个小时,但一旦变成几天,它就开始变得令人发狂。可悲的是,这对我来说是一个阻碍。

预先感谢您的任何帮助!

I need to dynamically load content from HTML emails into some type of content area within my HTML so that it is scaled to fit, exactly the way the native mail apps do for iPhone/Android. I have spent two days Googling and testing to no avail. I'm loading the HTML content (which is often set to width=600 or something nice), but rather than scaling, it is appearing as follows:

iPhone Simulator Example

The HTML is very simple:

<div data-role="page" id="messagedetailpage" data-add-back-btn="true">
    <div data-role="content" id="messagedetailcontainer"></div>
</div>

The sanitized email HTML is loaded into a div (messagedetailcontainer), at which point I've tried the following things:

  1. Resize the viewport with: $.mobile.metaViewportContent = "width=device-width, initial-scale=0.5, minimum-scale=0.5, maximum-scale=0,5";

  2. Call several triggers on the div such as: $("#messagedetailcontainer").append(data.msg_body).trigger('updatelayout');

  3. Same as #2, but with 'create', 'resize', 'load', and 'change'.

  4. $(window).resize();

  5. Scrapping the div and putting it in an iFrame (no luck at all)

  6. I've research iScroll, ScrollView, various autoscale.js examples, but nothing seems to fit my need.

I'm starting to wonder if this is even possible. If anyone can help me I will be eternally grateful. I don't mind being stuck for hours, but once it turns to days it starts to become maddening. And sadly this is a show-stopper for me.

Thanks in advance for any help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小ぇ时光︴ 2025-01-14 19:17:17

您可以获得视口的宽度和内容的宽度,然后根据两者的比例缩小内容:

var venderPrefix = ($.browser.webkit)  ? 'Webkit' : 
                   ($.browser.mozilla) ? 'Moz' :
                   ($.browser.ms)      ? 'Ms' :
                   ($.browser.opera)   ? 'O' : '';
var ratio = $(window).width() / $('#newContent').width();
$('#newContent').css(venderPrefix + 'Transform', 'scale(' + ratio + ')');

You could get the width of the view-port and the width of the content, then scale the content down based on a ratio of the two:

var venderPrefix = ($.browser.webkit)  ? 'Webkit' : 
                   ($.browser.mozilla) ? 'Moz' :
                   ($.browser.ms)      ? 'Ms' :
                   ($.browser.opera)   ? 'O' : '';
var ratio = $(window).width() / $('#newContent').width();
$('#newContent').css(venderPrefix + 'Transform', 'scale(' + ratio + ')');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文