我最近遇到了一些非常奇怪的事情,我不确定是不是我可能只是遗漏了一些东西,但我无法理解为什么会这样.
我有一个网站上运行了以下jQuery代码段:
$(window).resize(function(){
alert("Resize fired!");
});
Run Code Online (Sandbox Code Playgroud)
当我在Android手机浏览器上访问该网站时,只需在网站上下滚动,我就可以看到警报.
Android浏览器滚动条(淡入和淡出)覆盖在整个站点的顶部,似乎不会导致窗口的任何大小调整,所以我猜这个事件不会被它们触发.
有谁知道为什么Android浏览器会在滚动时触发此事件?
任何信息将不胜感激.
编辑:
我已经尝试为body设置CSS,设置overflow-y滚动查看这是否是一个可行的解决方案,但事件仍然在Android上滚动时被触发.
编辑#2:
我在HTML中使用以下metatag:
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
Run Code Online (Sandbox Code Playgroud) 我见过许多网站在桌面浏览器和手机浏览器上都有响应,我正在网站上工作,我有以下样式表设置:(希克斯设计网站是我想要实现的一个很好的例子,如果你需要一个)
/* Normal styles go here */
@media screen and (min-device-width:321px)
{
/* Styles */
}
@media screen and (min-width:701px)
{
/* Styles */
}
@media screen and (min-width:1025px)
{
/* Styles */
}
@media screen and (min-width:2049px)
{
/* Styles */
}
Run Code Online (Sandbox Code Playgroud)
但是我上面的样式表似乎只适用于桌面浏览器.(使用Android Firefox和Sony Xperia Ray上的默认Android浏览器进行测试)
希克斯设计网站的规则与我的非常相似,但它们使用了min和max,但对我来说似乎并不适用于移动和桌面浏览器.(我计划更多地优化我的媒体查询,我只是试图让基本功能正常运行,因为我现在想要它们).
如果我使用max-device-width而不是max-width,它会在移动浏览器上响应,而不是桌面浏览器......
我尝试了以下以解决此问题:
@media screen and (max-width:480px), screen and (max-device-width:480px)
{
/* Styles */
}
Run Code Online (Sandbox Code Playgroud)
也:
@media screen and (max-width:480px), and (max-device-width:480px)
{
/* Styles */
}
Run Code Online (Sandbox Code Playgroud)
但是我不认为其中任何一个都是正确的,因为Firefox的Web开发人员工具栏会抱怨它.我还尝试了上述规则的一些变化,但仍然无法使其工作.
据我所知,max-width读取视口宽度(比如..浏览器窗口的宽度),max-device-width读取用于查看站点的屏幕的实际宽度. - 我很困惑为什么max-width似乎没有读取移动设备的浏览器宽度.
我想我可能在这里遗漏了一些关于媒体查询的明显内容......如果我希望我的网站能够在桌面和移动浏览器上做出响应,我似乎没有意义,我必须复制所有媒体查询并改变它从'screen and(max-width)'到'screen …
我正在尝试使用Plone Form Gen创建一个事件内容类型.我一直在使用本教程来执行此操作.
使用Add New...菜单创建事件内容类型时,您将获得两个要填写的字段,即事件的开始日期和结束日期,我希望我的表单从这些字段中提取信息并将其应用于事件内容类型我是用来创建它.
我理解的问题用以下例子描述:
自定义脚本适配器脚本包含以下内容:
obj.setDescription(form['replyto'])
Run Code Online (Sandbox Code Playgroud)
我可以看到它从以下内容获取事件内容类型描述的内容:
<input id="replyto" class="" type="text" size="30" name="replyto" />
Run Code Online (Sandbox Code Playgroud)
添加到PFG表单时的日期/时间字段由多个<select>
输入组成,而不仅仅是上面的一个,我猜这意味着没有一个简单的obj.setEndDate()
命令...虽然无法引用选择盒子我有点卡住了.
有没有人知道是否可以创建一个事件内容类型并使用Plone Form Gen 指定它的开始和结束日期?
使用此链接我已经解决了原始问题,但我遇到了更多问题
我已经调整了我的脚本(使用上面的链接),如下所示:
target = context.viewjobs
form = request.form
from DateTime import DateTime
uid = str(DateTime().millis())
loc = form['location-of-event']
target.invokeFactory("Event", id=uid, title=form['topic'], event_url=loc)
obj = target[uid]
obj.setFormat('text/plain')
obj.setText(form['comments'])
obj.setDescription(form['replyto'])
obj.reindexObject()
Run Code Online (Sandbox Code Playgroud)
(我使用event_url来测试,因为我没有event_start
选择运气).
它创建了事件,但是当我去观看我得到的事件时:
Module zope.tales.expressions, line 217, in __call__
Module Products.PageTemplates.Expressions, line …
Run Code Online (Sandbox Code Playgroud) 在您的网站上创建自定义Google地图地图时,您需要包含托管在其服务器上的Google API库.
为了尽可能快地保持事物,我使用条件规则在页面上包含各种脚本,具体取决于所需的内容.
在这个过程中,我担心我可能已经发现了Diazo的错误,但如果我错了请告诉我.
注意: 我已经提交了一份错误报告.我以为我会问这里任何人都有类似的经历,并且知道解决问题或解决问题.
如果你包含一个不是本地的src,它似乎会破坏我的Diazo规则文件,因此Plone站点会呈现默认的SunBurst主题,而不是我的自定义Diazo主题.
打破一切的规则如下:
<rules css:if-content="#map">
<append theme="/html/body">
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=XXXX&sensor=false"></script>
</append>
</rules>
Run Code Online (Sandbox Code Playgroud)
我试过从规则中删除https:只留下http:,我也尝试完全删除它只留下两个斜杠.这两项都没有奏效.我在该规则中包含其他脚本,当我注释掉上面的<script>
标记时,它可以正常加载它们.
我知道我可以简单地给脚本一个ID,将它添加到我的HTML模板并使用我rules.xml
删除它,除非我的规则得到满足,但我宁愿让Diazo添加脚本如果需要它而不是每次都丢弃它页面已送达.
任何想法为什么这个外部<script>
src=
属性给我这样的仇恨?
谢谢!
我在Plone中有一个用于页面模板的TALES,它查看集合的结果并将它们插入到一个框中(类似于集合portlet的框)
我在从返回的项目中获取URL时遇到问题,我一直在使用getPath,但是它返回了站点名称,因此我的URL最终变为http://mysite.com/ThePloneSite/folder/page
而不仅仅是http://mysite.com/folder/page
,目前我的示例TALES如下:
<a tal:attributes="href string:${item/getPath}/view">Item</a>
Run Code Online (Sandbox Code Playgroud)
我已经尝试了我能想象到的每一个变化,但我不记得它们所以所以这里有一对不起作用:
(这什么都不返回)
<a tal:attributes="href item/absolute_url">Item</a>
Run Code Online (Sandbox Code Playgroud)
这给了我一个追溯,抱怨"getpath":
<a tal:attributes="python:item.getObject().absolute_url()">Item</a>
Run Code Online (Sandbox Code Playgroud)
站点名称在链接中令人讨厌的唯一原因是,为了访问"状态"和"显示"按钮,您必须在最初单击链接后单击"查看"
注意:最后一个示例在您使用时有效,getFolderContents
但我知道从集合返回的结果是不同的.
非常感谢任何帮助,谢谢.
EDIT Traceback绝对版本:
Traceback (innermost last):
Module ZPublisher.Publish, line 126, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 46, in call_object
Module Shared.DC.Scripts.Bindings, line 322, in __call__
Module Shared.DC.Scripts.Bindings, line 359, in _bindAndExec
Module Products.PageTemplates.ZopePageTemplate, line 334, in _exec
Module Products.PageTemplates.ZopePageTemplate, line 431, in pt_render
Module Products.PageTemplates.PageTemplate, line 79, in pt_render
Module zope.pagetemplate.pagetemplate, line 113, in …
Run Code Online (Sandbox Code Playgroud)