Tag: safari

从Safari扩展注入jQuery到网页

我只是想从一个safari扩展中将jQuery注入一个网页。 但仅限于某些页面,因为将jQuery添加为start- / endscript会将其注入所有页面,这会使浏览速度变慢。 我通过使用onload函数创建脚本标记来尝试它: var node = document.createElement(‘script’); node.onload = function(){ initjquerycheck(function($) { dosomethingusingjQuery($); }); }; node.async = “async”; node.type = “text/javascript”; node.src = “https://code.jquery.com/jquery-2.0.3.min.js”; document.getElementsByTagName(‘head’)[0].appendChild(node); 检查是否加载了jquery我使用: initjquerycheck: function(callback) { if(typeof(jQuery) != ‘undefined’){ callback(jQuery); }else { window.setTimeout(function() { initjquerycheck(callback); }, 100); } } 但是typeof(jQuery)仍未定义。 (使用console.log()检查)。 只有从调试控制台调用console.log(typeof(jQuery)),它才会返回’function’。 任何想法如何解决? 提前致谢!

Safari移动忽略防止默认

我在谷歌地图上的infowindow链接上使用e.preventdefault()。 它在桌面上按预期工作,其中链接不访问href,但在safari上它似乎忽略它并访问链接,好像没有加载javascript。 它显然正在加载javascript,因为谷歌地图以及许多标记和信息窗口正在加载正常。 链接的代码是这样的: $(‘.infowindow .more, .infowindow h3 a’).live(‘click’, function(e) { e.preventDefault(); /* Loading content from external html file */ $(‘#content .content’).html(”); $(‘#content .content’).load($(this).attr(‘href’) + ‘ #content > *’, function() { 显然,代码从这里开始使用其他位和bobs。 有没有其他人有任何问题或知道解决方案? 谢谢 戴夫。

在safari中使用window.url的替代方案

有没有其他选择 window.URL = window.URL || window.webkitURL; 适用于Safari 5及以下版本? 我尝试使用以下代码段预览用户上传的图片: var file = jQuery(‘#brandImageUpload’).prop(“files”)[0]; window.URL = window.URL || window.webkitURL ; var blobURL = window.URL.createObjectURL(file); $(‘#ibrandImage’).attr(‘src’, blobURL); $(‘#brandImage’).slideDown(); $(this).slideUp(); 但是window.URL返回undefined。

iPhone Safari下拉列表中的“下一个”不会触发更改事件

我正在尝试为手机游戏做一个直接的级联下拉菜单。 我有这个100%在safari本身工作,显示正常的样式下降。 但移动safari下拉菜单有一个“下一步”按钮。 点击下一个按钮会带您进入级联中的下一个下拉,并触发onchange() – 因此下一个下拉列表为空。 用户被迫按“完成”以触发更改,然后单击下一个下拉列表。 有没有人知道这方面的方法。 或者什么DOM事件是由移动safari的”下一个’触发的?

Safari保存的密码在表单中覆盖autocomplete =“off”

我已经对这个问题做了大量的研究,但我似乎无法找到解决我问题的任何东西。 我在我的表单标签上设置了autocomplete =“off”,以及我的所有输入标签,但Safari继续在页面加载时将自动保存的密码输入到我的表单中,这导致我的JavaScript中的表单上出现了不需要的keydown事件。 有什么想法吗? 我已经尝试过各种各样的黑客攻击,比如完全从代码中删除那些输入字段,然后使用javascript和setTimeout在几秒钟后将它们插入到页面中,但即便在Safari之后仍然将其保存的密码输入到我的输入中。 我也尝试在my和tags中使用autocorrect =“off”和autocapitalize =“off”属性。 我尝试过像这样的Javascript黑客(例子): $(function() { $(‘input’).attr(‘autocomplete’, ‘off’); }); 因此,加载页面上的每个输入字段都具有此属性,但Safari仍将其保存的密码插入字段中。 是的,该页面使用的是html5 doctype(因为我知道如果没有它,自动完成将不起作用)。 这是我的代码: – form_for @website, :html => {:class => ‘fields’, :autocomplete => ‘off’}, :url => {:controller => ‘signup’, :action => ‘connect’} do |form| %h3 Enter URL %ol.fields %li = form.label :url, “Website URL:” = form.text_field :url, :placeholder => “Website […]

滑块forms的磁带。 Safari中的错误

我以滑带的forms制作了滑块。 在Chrome和Mozilla中它看起来不错,但在Safari中它看起来很糟糕。 也许有人可以帮忙解决问题?!? 提前致谢! jsfiddle.net/mcbgv/7/ CSS: #wrapper1 #my_scroll {z-index:5; height:480px; width:640px; position:absolute; top:-10px; left:12px;} #wrapper1 #bloc_wrap {height:480px; width:640px; z-index:7; overflow:hidden;} #wrapper1 #wrapper_sl {height:480px;} #wrapper1 #wrapper_sl .block {width:150px; background:blue; border:2px solid #fff; position:absolute; margin:-40px 0 0 0; z-index:1; height:108px; overflow:hidden; transition: all 1.2s linear ; -webkit-transition: all 1.2s linear ; -moz-transition: all 1.2s linear ; -webkit-border-radius: […]

jQuery .click()在Safari中不起作用

我已经看到几个类似的post,其解决方案似乎对这些人有用,但我无法让它发挥作用。 我在我的项目中使用http://tutorialzine.com/2013/05/mini-ajax-file-upload-form/ 。 它在所有浏览器中都可以正常工作,但在Safari中,“浏览”按钮不会打开文件对话框。 script.js中存在以下代码(包含在插件中): $(‘#drop a’).click(function(){ // Simulate a click on the file input button // to show the file browser dialog $(this).parent().find(‘input’).click(); }); .click()不会在Safari中触发。 我按照jQuery尝试了解决方案.click()适用于每个浏览器,但Safari和实现 $(‘#drop a’).click(function(){ var a = $(this).parent().find(‘input’); var evObj = document.createEvent(‘MouseEvents’); evObj.initMouseEvent(‘click’, true, true, window); a.dispatchEvent(evObj); }); 但后来我得到了dispatchEvent is not a function的错误。 然后我对此做了一些研究,并尝试了jQuery.noConflict()路由,但这并没有解决错误。 另外,我在我的主文件中使用了很多jQuery,并且我无法为整个页面激活noConflict()模式。 也没有理由jQuery应该与任何东西发生冲突,因为我只使用jQuery和普通的javascript而且我没有使用像prototype或angular这样的东西。 有人知道在Safari中模拟点击的另一种方法吗? 更新:仅供参考,我在上述function中添加了alert(‘test’) (单击“浏览”时触发),我确实在Safari中收到警报,但它没有模拟文件输入的点击element,即:它没有打开文件对话框。

当获取返回的数据需要几秒钟时,jQuery .ajax()在Safari中不起作用

我正在使用jQuery ajax()方法将(GET)数据传递到另一个ExportData页面,并在该页面处理后获取返回的数据(“成功/失败”)。 ExportData页面在返回“succeeded / failed”之前大约需要10秒。 我正在使用的代码在其他浏览器(FF / IE / Chrome)中运行良好,但在Safari中则不行。 在Safari的代码检查器中,状态代码显示为-1001且未收到任何数据。 虽然还有其他ajax()请求(只要这个页面不需要返回数据)并且它们确实有效(状态为200)。 我猜测发送和接收数据之间的长间隔会导致Safari出错。 但是我也发现-1001错误显示得非常快,这可能意味着ExportData.php没有被执行。 有没有人对这个问题有所了解? 对你的帮助表示感谢! 代码是: ExportData: function (date,view) { ajaxcall.data = {}; ajaxcall.url = ‘ExportData.php?Date=’+date+’&View=’+view; ajaxcall.callbackfunction = UserEvents.ExportSuccess; ajaxcall.Call(); }, “ajaxcall”在另一个文件中: var ajaxcall = { SitePath: ”, data: ”, url: ”, callbackfunction: ”, fileElementClass: ”, AjaxRequest: false, callback: true, Call: function () { […]

在iPad上捕获点击DOM / HTML / BODY事件

我正在使用jQuery来检测DOM上的点击 – 或者让我们点击每一次。 $(document).click(function(){ alert(“Click :-)”); }); 这适用于除Safari / iPad之外的所有浏览器。 我也尝试在html或body元素上应用事件 – 没办法。 如何检测iPad / iPhone上的常见点击? 最好的问候,吉姆

Safari 事件不会从后退按钮触发

当通过后退按钮输入页面时,我似乎无法在Safari中触发身体onload =“…”事件。 它在FF和IE中工作正常。 有Javascript或jQuery解决方案吗? 任何帮助赞赏。