如何在Opera中完成这项工作?我为Opera找到了这段代码,但它对我不起作用:
function AddToFavorites(title, url) {
if (window.sidebar) { // Mozilla Firefox Bookmark
window.sidebar.addPanel(title, url,"");
return false;
}
else if( window.external ) { // IE Favorite
window.external.AddFavorite( url, title);
return false;
}
else if(window.opera && window.print) { // Opera Hotlist
var elem = document.createElement('a');
elem.setAttribute('href',url);
elem.setAttribute('title',title);
elem.setAttribute('rel','sidebar');
elem.click();
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
Dragonfly错误控制台是静默的,没有发生错误.
有一个我必须用于工作的特定网站,绝对令人发指并被所有必须使用它的人所鄙视.特别是,该网站的Javascript从根本上被打破,仅适用于IE,这几乎使它成为我必须在我喜欢的浏览器之外使用的唯一网站.
所以,问题.如果我能够以" 做正确的事 " 的方式加载网站之后" 修补 "javascript ,那么我可以在没有IE的情况下使用该网站.
(只是为了删除一些多余的答案:我已经尝试将两个浏览器屏蔽为IE,这没有任何效果,因为问题在于javascript,而不是服务器上的浏览器检测.)
我更喜欢Opera的解决方案,尽管我并不反对Firefox的答案.此外,我宁愿不必通过代理查看网站,但我会接受这样的答案.
我有一个类似于小部件的HTML + JavaScript块,人们可以将其复制/粘贴到他们的HTML页面中一次或多次.该块检查外部JavaScript文件是否已经存在于DOM中,如果没有,则加载它,如下所示:
(function(){
d = document;
if (!d.getElementById('ex-scr')) {
scr = d.createElement('script');
scr.async = true;
scr.id = 'ex-scr';
scr.src = 'external.js';
d.getElementsByTagName('head')[0].appendChild(scr)
}
})();
Run Code Online (Sandbox Code Playgroud)
外部JavaScript文件检查HTML页面中的窗口小部件实例(使用getElementsByClassName)并对这些实例进行处理,类似于此;
for (var i=0;i<document.getElementsByClassName('target').length;i++) {
document.getElementsByClassName('target')[i].style.borderStyle="solid";
}
Run Code Online (Sandbox Code Playgroud)
可以在http://futtta.be/opera_enigma.html上找到这方面的工作示例.
这在Firefox(3.6和4b),Chrome(5和6)和Safari中完美运行,但在Opera中没有预期的效果(使用最新版本10.61进行测试):无论有多少'小部件'(divs class='target')都是目前,Opera仅作用于第一个,因为显然nodeList只包含1个条目(长度为1而不是2或3或......).
如果在小部件的javascript中调用函数来加载带有window.onload的外部脚本,问题就会消失,但我希望我的小部件尽快激活(不干扰页面的其余部分,因此异步的东西).
所以我的问题; 我的代码中是否存在Firefox,Safari和Chrome忽略的错误?这是Opera中的一个错误吗?我怎样才能让Opera表现出来?
当我尝试使用ASP.NET MVC上传文件时,它在FF && Chrome中工作正常,但在IE和Opera中弹出一个对话框,要求我下载,保存或取消.
选择其中一个选项可防止文件上载工作.我怎样才能解决这个问题?
public class ImportModel
{
[Required]
[FileExtensions("csv", ErrorMessage = "Please upload a valid .csv file")]
public HttpPostedFileBase File { get; set; }
}
[HttpPost]
public virtual ActionResult StartImport(ImportModel model = null)
{
if (model != null)
{
var status = _importService.StartImport(model);
return Json(status, JsonRequestBehavior.AllowGet);
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
查看以下代码(摘要):
<div id="dlgImport" class="hidden">
@using (Html.BeginForm(MVC.Import.StartImport(), FormMethod.Post, new { @class = "smallForm", id = "frmImport", enctype = "multipart/form-data" }))
{
<div class="fields-inline">
<div class="editor-label">
@Html.Label("File")
</div>
<div class="editor-field"> …Run Code Online (Sandbox Code Playgroud) 我有一个显示无表格和输入类型文件,我也做了一个按钮.当你点击它应该打开下载对话框.此组合适用于除Opera之外的所有浏览器.如果删除display:none,则开始工作;
<form id="imageform" method="post" enctype="multipart/form-data" action='' style="display: none;">
<input type="file" name="photoimg" id="photoimg" />
</form>
<input type="button" id="upload" value="upload">
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$('#upload').on("click", function () {
$('#photoimg').click();
});
Run Code Online (Sandbox Code Playgroud)
请解释一下,如何避免这种情况.
可能重复:
如何使CSS仅对Opera可见
很多时候我需要使用浏览器特定的CSS规则来使设计在每个浏览器中看起来都相似.一般来说,我需要它们用于IE 7-8,但这次是Opera,特别是Opera 12及以上.
我找到了Opera的一些解决方案:
但这些仅适用于11或以下......
Opera 12有解决方案吗?
我有一些点击它的<input style="display:none" type="file"/>元素事件触发器点击元素.这个元素是隐藏的(display:none).在这个浏览器上:Chrome,IE,FireFox正在运行(触发器执行),但在Opera和Safari上却没有.对于有问题的浏览器(Opera和Safari),我需要做些什么特别的事情吗?有没有走动?
非常感谢!
这是事件的代码
$('#add_cv').click(function(){
$('#add_cv_input').trigger('click');
});
Run Code Online (Sandbox Code Playgroud) 我刚看到Opera将停止使用Presto,并切换到WebKit,那么DragonFly是否仍然存在,或者Chrome Inspector会替换它?
那么Extensions呢!
我有一个问题,我没有答案,需要额外的一双眼睛,以了解情况,所以这里:
在Chrome和FF中,我的小动画工作正常(当用户将鼠标悬停在它们所在的div上时,同时绘制了4个圆圈).
但是......就Safari和Opera而言,他们只是不想展示我的动画.我一直在使用错误控制台,我得到的消息是:
类型错误:'undefined不是函数(评估'requestAnimationFrame(function {
动画(curPerc/100)
}))
我不确定这里发生了什么,但我认为'animate'函数是循环的,只是在'hover'函数上工作,当它完成第一个循环时,函数正在寻找另一个输入,不是收到一个,然后导致'未定义'错误?我可以在这方面做出决定!另外..这并不能解释为什么它可以在Chrome和FF中运行,而不是Safari或Opera
以下是其中一个圆圈动画的代码,可以为您提供一个想法:
HTML:
<canvas id="myCanvasVD" width="200" height="200"></canvas>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
(function() {
var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
window.requestAnimationFrame = requestAnimationFrame;
})();
$(document).ready(function() {
$("#aboutPageDiv").hover(function() {
var myCanvas = document.getElementById('myCanvasVD');
var ctx = myCanvas.getContext("2d");
var x = myCanvas.width / 2;
var y = myCanvas.height / 2;
var radius = 75;
var endPercentVD = 87;
var curPerc = 0;
var counterClockwise = false;
var circ = Math.PI * 2;
var quart = …Run Code Online (Sandbox Code Playgroud) Opera Blink上的默认页面包含指向用户喜爱的网页的链接.其中一些网页,如脸书,推特等,都有一个标志.
当我在那里添加我的网站时,它没有显示任何徽标; 它只显示my-site.com文本.

我看到有些网站,当我在这里添加它们时,会显示它们的徽标.
我应该如何处理我的网站以使Opera可以检索徽标?
opera ×10
javascript ×4
css ×3
file-upload ×2
html ×2
jquery ×2
safari ×2
asp.net-mvc ×1
blink ×1
browser ×1
css-hack ×1
file ×1
firefox ×1
html5 ×1
opera-blink ×1
webkit ×1