我的问题出现在内部Android浏览器和JQuery Mobile上。当我重新加载当前页面时,内容会缩小以使文本适合列表视图。
更详细信息: 该代码在IPhone,移动桌面工具和Androids Firefox上运行良好。然而,在内部Android浏览器上,我对下面的代码有这个奇怪的问题。请参阅下面的编辑。
到目前为止我尝试了什么: 我用viewport元标记玩了很多。无论如何,我认为这不是问题,因为我的应用程序中的每个其他网站上的内容都显示正确。
<meta name='viewport' content='width=device-width,initial-scale=1,maximum-scale=1'>
$('meta[name=viewport]').attr('content','width='+$(window).width()+',user-scalable=no');
喜欢这些帖子建议:
我的代码:
<html>
<head>
<meta name="viewport" content="width=650">
<!-- CSS and Scripts-->
</head>
<body>
<!-- Page Wrapper -->
<div data-role="page">
<section data-role="content">
<h2>
Code Sample
</h2>
<div class="ui-grid-solo">
<p style="margin-bottom: 38px;">
<a href="?id=a" data-ajax="false">A</a>
<a href="?id=b" data-ajax="false">B</a>
<a href="?id=c" data-ajax="false">C</a>
</p>
</div>
<!-- Dynamic content-->
<ul data-role="listview" data-inset="false">
<!-- Use ?id to grab and display data (CodeBehind.vb)-->
</ul>
</section>
</div>
</body>
</html>
有没有人有想法,或者是否曾遇到类似的问题?
修改 我正在做些什么,这个问题似乎发生在代码的和平中:
<!-- Dynamic content-->
<ul data-role="listview" data-inset="false">
<!-- Use ?id to grab and display data (CodeBehind.vb)-->
</ul>
通常,listView会替换为末尾带有“dot dot dot”的大文本项目,以便它们适合屏幕。在我的情况下,它仍然会这样做,但在缩短发生之前,文本可以使用许多字符。结果是,一切都缩小了。我该怎么解决这个问题?
答案 0 :(得分:0)
由于我没有得到答案,我发布了我的修复:
仅在移动版Safari浏览器上,listView项目似乎不会缩短。现在我正在调用一个函数,它在pageinit上手动完成:
fixListView: function () {
var brokenAgent = "Safari";
var currentUserAgent = navigator.userAgent;
if (currentUserAgent.indexOf(brokenAgent) != -1) {
var listItemList = $('.long-text');
for (var i = 0; i < listItemList.length; i++) {
var text = listItemList[i].innerText;
if (text.length > 40) {
var newText = text.substr(0, 40);
listItemList[i].innerText = newText + "...";
}
}
}
}
对我的修复仍然不满意,欢迎任何改进的想法!