标签: opera

jQuery与XML命名空间的区别以及Opera和Firefox之间的xhr.responseXML

考虑一下:

<!DOCTYPE HTML>
<html><head><title>XML-problem</title>

<script src="jquery-1.3.2.min.js" type="text/javascript"></script>

<script type="text/javascript">

$(function() {
    $('<p/>').load("text.xml", function(responseText, textStatus, xhr) {
        var xml = $(xhr.responseXML);
        var x_txt = xml.find('atom\\:x').text();
        $(this).text(x_txt).appendTo('#container');
    });
});

</script>

</head><body><div id="container" /></body></html>
Run Code Online (Sandbox Code Playgroud)

加载文档时,此脚本应加载text.xml.text.xml看起来像这样:

<xml xmlns:atom="http://www.w3.org/2005/Atom">
    <atom:x>Text</atom:x>
</xml>
Run Code Online (Sandbox Code Playgroud)

加载此文件后,atom:x-node 的文本内容将附加到文档中.我可以在浏览器窗口中看到"文本".

这在Firefox中可以正常工作.但是,除非我将查询更改'atom\\:x'为just,否则它在Opera中不起作用'x'.在这种情况下,它适用于Opera,但不适用于Firefox.

我发现了一种解决方法,即将查询更改为'atom\\:x, x',但我更愿意深入了解这一点.


现在有趣的转折:我可以直接内联xml而不是通过更改从XHR获取它

var xml = $(xhr.responseXML);
Run Code Online (Sandbox Code Playgroud)

var xml = $('<xml xmlns:atom="http://www.w3.org/2005/Atom"><atom:x>Text</atom:x></xml>');
Run Code Online (Sandbox Code Playgroud)

在这种情况下,查询'atom\\:x'将在两个浏览器中提供所需的结果,并且在两个浏览器中都'x'不会产生任何结果.

事实上,这在Opera中的工作方式不同,这让我得出结论,前者的行为是Opera中的一个错误.这是一个合理的结论吗?我在哪里可以指出描述它应该如何工作的标准?


结论:

  1. 这个问题的替代解决办法有哪些?有没有比我找到的更好?
  2. 这是Opera中的一个错误吗?如果是的话,哪个标准是这样说的?

希望你能帮忙:)

javascript firefox jquery opera xmlhttprequest

5
推荐指数
1
解决办法
1734
查看次数

通过坐标在Opera中查找SVG中的元素

如何在给定坐标的Opera中定位SVG中的元素?

elementFromPoint(x,y)适用于Firefox,但似乎与Opera失败,总是返回整个SVG而不是特定元素.

有人可能想知道为什么我需要它.好吧,仅仅是因为我想突出显示光标下的SVG元素,并且因为在使用鼠标移动之前,当添加/删除光标下的元素时,Opera不会触发任何事件.也就是说,当我添加一个新元素时,它在我稍微移动鼠标之前没有突出显示,这看起来不太好.

干杯,米哈伊尔.

javascript opera svg

5
推荐指数
1
解决办法
1636
查看次数

删除<a>链接周围的Opera Mobile蓝色边框

我有一个webapp,其中按钮是用<a>元素创建的,并且都href设置为#.我希望<a>在鼠标单击期间删除链接周围的蓝色边框,因为Opera Mobile会突然显示所有<a>具有相同href设置的元素.

示例图片:

在此输入图像描述

我该如何删除它?

javascript css mobile opera

5
推荐指数
1
解决办法
2848
查看次数

Opera后台缓存功能

我有一些jQuery在用户执行操作后修改页面上的元素.这些都是持久的服务器端,所以它对用户来说都很好看并且流畅.

当用户点击异地,然后点击后退按钮时,除Opera之外的所有浏览器都会重新请求页面,因此用户仍会看到更改.然而,对于Opera,该站点返回到它的Jquery之前的状态(因为它没有从服务器请求该页面).

可以做一些令人讨厌的事情,比如检查浏览器并刷新Opera,但显然这并不理想.

有没有更好的方法来解决这个问题?

c# asp.net mvp jquery opera

5
推荐指数
1
解决办法
547
查看次数

Opera中的SVG使用带有缩放的CSS背景图像

我正在尝试在背景图像上使用SVG,如:

.logo
{position: absolute;
width: 300px; height: 300px;
background-image: url(../img/logo.svg);
background-size: 256px 256px;
background-repeat: no-repeat;}
Run Code Online (Sandbox Code Playgroud)

这适用于Safari,Firefox,Chrome,但不适用于Opera,我不会遇到问题.

示例Chrome 24:

[CHROME](我很抱歉,我从主持人那里删除了这个例子)

示例Opera 12.14:

[OPERA](我很抱歉,我从主持人那里删除了这个例子)

更新1:

SVG文件

<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
<g>
    <path fill="#00A99D" d="M41.027,96.075H16.375v-54.84c0-10.062,2.636-18.258,7.91-24.586c3.032-3.647,6.888-6.547,11.568-8.7
    c4.68-2.153,9.48-4.23,14.402-4.23c9.798,0,18.061,4.296,24.784,10.887c6.724,6.591,10.085,14.677,10.085,24.256
    c0,9.316-3.341,17.357-10.019,24.124c-6.68,6.769-14.59,10.151-23.729,10.151c-1.495,0-3.691-0.154-6.591-0.462
    c0,0,15.358-31.682,15.358-34.277c0-2.592-0.945-4.801-2.834-6.625c-1.891-1.823-4.153-2.735-6.79-2.735
    c-6.328,0-9.491,4.373-9.491,13.117V96.075z"/>
</g>
<g>
    <path fill="#003333" …
Run Code Online (Sandbox Code Playgroud)

css opera svg

5
推荐指数
1
解决办法
2344
查看次数

字体令人敬畏地显示亚洲标志而不是图标

我正在尝试使用Font Awesome而不是任何图标,它只显示任何亚洲标志.我为web服务器下载了字体awsome.我在3种不同的浏览器(firefox,opera和chromium)中尝试了这个,但它总是一样的.

可在此处查看测试页:http://2weitweitweg.de/test.html

以下是它的截图:http://postimg.org/image/9yh5p0p97/

它是否在您的浏览器中显示标志?问题与浏览器或服务器有关吗?我该如何解决?

再见

firefox opera icons chromium font-awesome

5
推荐指数
2
解决办法
2万
查看次数

浏览器关闭时,Opera不会删除会话cookie

我在Opera javascript控制台中执行以下javascript代码, document.cookie='test=abc' 然后依次关闭所有标签页,然后关闭浏览器。

之后,当我再次打开浏览器时,cookie值test=abc仍然处于document.cookie变量中。

我尝试研究此问题,并在官方歌剧网站http://help.opera.com/Windows/9.50/en/cookies.html上找到了此问题:

如果未分配任何到期日期,则当您退出浏览器时,cookie将在会话结束时到期。在会话结束时过期的cookie称为会话cookie。

这意味着Opera应该使用会话cookie遵循标准行为,但事实并非如此。

我也发现了这个Firefox会话cookie

Firefox具有关闭Firefox的功能,它可以保存所有选项卡,然后还原浏览器,然后这些选项卡返回。这就是所谓的会话还原。我没有意识到的是,它也将还原这些页面的所有会话cookie!就像您从未关闭过浏览器一样。

因此,以防万一,在关闭浏览器之前(我的情况下是Opera),我一一关闭了所有选项卡。但这也没有帮助。会话Cookie未被删除。

Opera版本:17.0.1241.53;操作系统:Windows 7 32位

cookies session opera

5
推荐指数
1
解决办法
1368
查看次数

PUT请求仅在Chrome或Opera中会生成SPDY协议错误?

我有一个使用Angular $ resource提供程序来处理对API后端的所有调用的Angular 1.5应用程序。我最近添加了一个具有拖放界面的功能,一旦将某项放入特定的存储桶中,我PUT就会向公共API方法执行对所有相关数据的请求以保存所述数据。

几个月前,我开发了它,甚至在一个特定版本中发现了Mac专用版本的Chrome中的一个奇怪错误(我们已经超过了2或3个版本),但是在其他情况下,它可以完美运行。

我最近在自己进行了一些测试之后才发布了它,但是我意识到Chrome和Opera浏览器都在PUT调用时出错,API从未收到请求。我唯一获得的信息是Chrome控制台中的以下说明:

PUT https://www.phpdraft.com/api/draft/59/pick/5026/depth_chart/37 net::ERR_SPDY_PROTOCOL_ERROR

要亲自查看,可以在以下网址进行该调用或类似的调用:PHPDraft

我怀疑我的服务器正在使用HTTPS可能是一个问题,但是ERR_SPDY_PROTOCOL_ERROR到目前为止,我到目前为止所做的Google搜索充其量是神秘的,听起来似乎不适合我的情况。

这是我$resource在Angular应用程序中用来进行此PUT调用(以及所有其他调用的方式)的方式:

angular.module('app').factory('api', function($resource, ENV) {
  return {
    DepthChartPosition: $resource(ENV.apiEndpoint + "commish/draft/:id/depthchartposition/:position_id", {
      draft_id: '@draft_id',
      position_id: '@position_id',
      draft_sport: '@draft_sport',
      manager_id: '@manager_id',
      pick_id: '@pick_id'
    }, {
      'update': {
        method: 'PUT',
        url: ENV.apiEndpoint + "draft/:draft_id/pick/:pick_id/depth_chart/:position_id"
      }
    })
  };
});
Run Code Online (Sandbox Code Playgroud)

上面的代码生成的请求本身如下所示:

General
Request URL:  https://www.phpdraft.com/api/draft/59/pick/5026/depth_chart/37

Request Headers
Accept:application/json, text/plain, */\*
Content-Type:  application/json;charset=UTF-8
Origin:  https://www.phpdraft.com
Referer:  https://www.phpdraft.com/draft/59/depth_chart
User-Agent:  Mozilla/5.0 (Windows NT 10.0; WOW64) …
Run Code Online (Sandbox Code Playgroud)

javascript opera google-chrome spdy angularjs

5
推荐指数
1
解决办法
1463
查看次数

在Opera浏览器中找不到麦克风"允许"按钮

根据caniuse,Opera支持语音识别API.但是,在尝试查看简单示例时,我无法在单击麦克风图标时找到"允许"按钮.在Chrome中,首次点击麦克风图标时会立即弹出允许麦克风对话框.

我正在测试干净安装的Opera 39/Mac.

在此输入图像描述

javascript browser opera speech-recognition

5
推荐指数
1
解决办法
1626
查看次数

如何在OperaDriver中启用内置VPN?

歌剧浏览器具有内置的VPN,可让您在浏览时隐藏IP。我的问题是在将OperaDriver与python中的硒一起使用时能否打开VPN?

尝试和问题的详细说明:

我有这个脚本,可以去网站显示我的IP地址。

from selenium import webdriver
from selenium.webdriver.opera.options import Options
from time import sleep
driver = webdriver.Opera(executable_path=r'/path/to/operadriver')
driver.get('https://whatismyipaddress.com')
sleep(10)
driver.quit() 
Run Code Online (Sandbox Code Playgroud)

当我在启用了VPN的Opera浏览器上访问此站点时,我的IP被屏蔽,并显示一些其他IP地址。但是我的脚本打开了浏览器以显示我的真实IP地址。

我已经在SO以及其他站点上搜索了OperaDriver上的几乎所有问题。似乎绝对没有文档或任何与此相关的其他问题。

我最接近的是github上的此功能请求。OP表示,他可以通过使用OperaOptions加载自定义配置文件来使其工作。链接中发布的代码是

OperaOptions operaOptions = new OperaOptions();
operaOptions.addArguments("user-data-dir", "~/Library/Application Support/com.operasoftware.Opera");
driver = new OperaDriver(operaOptions);
Run Code Online (Sandbox Code Playgroud)

我试图在python中执行此操作,但没有任何结果。如果有任何问题,我可以使用Ubuntu 16.04,并且OperaDriver是从官方github页面下载的。Python版本为,3.6.7而Opera版本57.0.3098.116Ubuntu 16.04 LTS (x86_64; Unity)

python opera selenium web-scraping

5
推荐指数
1
解决办法
928
查看次数