我发现我的 Worklight 6.1 应用程序出现了一些奇怪的行为。我有一个页面(登录页面),它没有显示任何 jQuery 样式表效果。该页面确实拉起并且功能上很好,但它看起来不像我的其他页面。
这是奇怪的事情。当我在 Worklight 设计器中查看页面时,我看到页面是使用 jQuery 样式表呈现的。但是,当我在预览模式或设备上运行它时,漂亮的按钮图标广告标题(jQuery Mobile)消失了。
这就是我正在做的...
我有一个带有两个 DIV 标签的 HTML 文件的应用程序,这是我的两个页面。我有一个适配器,它有一个应用了安全测试的受保护过程。我创建了一个自定义登录处理程序来使用自定义编码的 Java 类对我的应用程序进行身份验证。处理程序将首先检查请求的资源是否受到保护,如果是,它将(显示/隐藏)正确的 DIV。
应用程序尝试在 init 方法中调用受保护的资源,因此在启动时应用程序首先会弹出登录屏幕。这就是我看到我的问题的地方。真正奇怪的是,一旦我成功登录,我会被定向到另一个页面,并且该页面很好。只是登录页面显示不正确。
这是我在挑战处理程序中的代码。
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | var authStatus = response.responseJSON.authStatus; if (authStatus =="required"){ $('#addActivity').hide(); $('#AuthBody').show(); $('#passwordInputField').val(''); if (response.responseJSON.errorMessage){ alert(response.responseJSON.errorMessage); } } else if (authStatus =="complete"){ $('#AuthBody').hide(); $('#addActivity').show(); customAuthenticatorRealmChallengeHandler.submitSuccess(); } }; |
这是我的 HTML
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | <html> <head> <meta charset="UTF-8"> MobileTAcT <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"> <link rel="shortcut icon" href="images/favicon.png"> <link rel="apple-touch-icon" href="images/apple-touch-icon.png"> <link href="jqueryMobile/jquery.mobile-1.3.1.css" rel="stylesheet"> <link href="jqueryMobile/jquery.mobile.theme-1.3.1.css" rel="stylesheet"> <link href="jqueryMobile/jquery.mobile.structure-1.3.1.css" rel="stylesheet"> <link rel="stylesheet" href="css/MobileTAcT.css"> window.$ = window.jQuery = WLJQ; <script src="jqueryMobile/jquery.mobile-1.3.1.js"> </head> <body id="content" style="display: none;"> Add Activity <label for="text">*Activity name:</label> <input type="text" name="activtyName" id="activityName"> <label for="text">*Capabilities:</label><select name="capabil" id="capabil"> <option value="option">One</option> <option value="option">TWO</option> </select> <label for="text">*Activity type:</label><select name="activityType" id="activityType"> <option value="option">BLAH</option> <option value="option">YO</option> </select> <label for="text0">MyNumber:Leave field blank </label> <input type="text" name="sID" id="sID"> <label for="text">Customer name:</label><input type="text" name="cName" id="cName"> Submit Cancel Mobile TAcT Username:<br/> <input type="text" id="usernameInputField" /><br /> Password:<br/> <input type="password" id="passwordInputField" /><br/> <input type="button" id="loginButton" value="Login" /> <input type="button" id="cancelButton" value="Cancel" /> <script src="js/initOptions.js"> <script src="js/MobileTAcT.js"> <script src="js/messages.js"> <script src="js/CustomAuthenticatorRealmChallengeHandler.js"> </body> </html> |
这是 Worklight Studio 中的样子。 (漂亮又漂亮)

这是我在模拟器或预览模式下运行时实际看到的。 (丑陋而朴素)

更新
所以.. 我在 Chrome 中加载了这个并查看了开发人员工具。我看到加载页面时出现错误。奇怪..似乎认为有一个未授权的错误
我不得不在评论部分发布错误消息的链接,因为我是新手,我只能发布 2 个链接。我不太明白为什么这一页在加载 jQuery 样式表时出现问题。 (见评论中的链接)
更新 2
我发现了一些额外的细节,但我似乎仍然无法弄清楚这一点。
我将默认页面(实际上只是一个 HTML 文件中的 DIV 标记)更改为不同的页面。我对为什么会这样感到困惑,但显然应用了 jQuery 样式表的唯一页面是 DEFAULT 页面。所有其他页面都可以正常工作,但未应用 jQuery 样式表。为什么会这样?我不知道为什么……
现在我的应用程序按预期工作了..
这是解决方案..
在我的应用程序中,我最初尝试更改页面(只是更改以在同一 HTML 中显示不同的 DIV),如下所示,但它没有使用 JQuery 样式表呈现页面。
2 | $('#CurrentPage').hide(); |
我发现,如果我用这个替换我上面的代码,它就会按预期工作。我现在可以从当前页面转换到新页面,并且我页面中的所有元素现在都使用 JQuery 样式表
呈现
对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl
我的代码目前看起来像这样numbers=[1,2,3,4,5]defpop_threepop=[]3.times{pop有没有办法在一行中完成pop_three方法中的内容?我基本上想做类似numbers.slice(0,3)的事情,但要删除切片中的数组项。嗯...嗯,我想我刚刚意识到我可以试试slice! 最佳答案 是numbers.pop(3)或者numbers.shift(3)如果你想要另一边。 关于ruby-多次弹出/移动ruby数组,我们在StackOverflow上找到一
我有一大串格式化数据(例如JSON),我想使用Psychinruby同时保留格式转储到YAML。基本上,我希望JSON使用literalstyle出现在YAML中:---json:|{"page":1,"results":["item","another"],"total_pages":0}但是,当我使用YAML.dump时,它不使用文字样式。我得到这样的东西:---json:!"{\n\"page\":1,\n\"results\":[\n\"item\",\"another\"\n],\n\"total_pages\":0\n}\n"我如何告诉Psych以想要的样式转储标量?解
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr
我正在为一个项目制作一个简单的shell,我希望像在Bash中一样解析参数字符串。foobar"helloworld"fooz应该变成:["foo","bar","helloworld","fooz"]等等。到目前为止,我一直在使用CSV::parse_line,将列分隔符设置为""和.compact输出。问题是我现在必须选择是要支持单引号还是双引号。CSV不支持超过一个分隔符。Python有一个名为shlex的模块:>>>shlex.split("Test'helloworld'foo")['Test','helloworld','foo']>>>shlex.split('Test"
我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R
当我在我的Rails应用程序根目录中运行rakedoc:app时,API文档是使用/doc/README_FOR_APP作为主页生成的。我想向该文件添加.rdoc扩展名,以便它在GitHub上正确呈现。更好的是,我想将它移动到应用程序根目录(/README.rdoc)。有没有办法通过修改包含的rake/rdoctask任务在我的Rakefile中执行此操作?是否有某个地方可以查找可以修改的主页文件的名称?还是我必须编写一个新的Rake任务?额外的问题:Rails应用程序的两个单独文件/README和/doc/README_FOR_APP背后的逻辑是什么?为什么不只有一个?
rails中是否有任何规定允许站点的所有AJAXPOST请求在没有authenticity_token的情况下通过?我有一个调用Controller方法的JqueryPOSTajax调用,但我没有在其中放置任何真实性代码,但调用成功。我的ApplicationController确实有'request_forgery_protection'并且我已经改变了config.action_controller.consider_all_requests_local在我的environments/development.rb中为false我还搜索了我的代码以确保我没有重载ajaxSend来发送