我有以下内容:
<a href="javascript:jQuery('body').css('backgroundColor','red');">Test</a>
Run Code Online (Sandbox Code Playgroud)
在Chrome中运行时,它会按预期运行并将页面变为红色.但是,在Opera中我得到:
[对象]
仔细检查发现Opera认为这javascript:Query('body')...是某种URL.我究竟做错了什么?Opera不识别属性中的javascript:链接href吗?
jsFiddle:http://jsfiddle.net/9CZZL/
编辑:似乎也是一个Firefox问题......
我有兴趣学习为大多数主流浏览器(Chrome,Firefox,Safari,Opera,IE)开发浏览器扩展,但我不确定从哪里开始.为了保持兴趣,我想开始为具有最温和学习曲线的浏览器开发.
那么,您为不同的浏览器开发扩展的经验是什么?当然,必须为多个浏览器开发一个浏览器才能给出合理的答案.
我是一个经验丰富的Web开发人员,也没有C++/Java/Ruby/Erlang等问题,所以问题不是我能学到什么,而是我最快能收获的成果.
opera firefox-addon google-chrome-extension safari-extension
我在PHP 文档中找到了代码。这似乎是一个很好且简单的代码,它可以检测谷歌浏览器、火狐浏览器、IE 和 safari,但无法检测 Opera。
OUTPUT in OPERA:
Your browser: Google Chrome 45.0.2454.93 on windows reports:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36 OPR/32.0.1948.69
Run Code Online (Sandbox Code Playgroud)
需要帮助修改此代码,以便它可以检测歌剧。
<?php
function getBrowser()
{
$u_agent = $_SERVER['HTTP_USER_AGENT'];
$bname = 'Unknown';
$platform = 'Unknown';
$version= "";
//First get the platform?
if (preg_match('/linux/i', $u_agent)) {
$platform = 'linux';
}
elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
$platform = 'mac';
}
elseif (preg_match('/windows|win32/i', $u_agent)) {
$platform = 'windows';
}
// Next get the name …Run Code Online (Sandbox Code Playgroud) 我创建了一个旋转定义图像的函数.它在firefox中运行完美,但在IE和Opera中没有任何反应 - 图像重新加载但不旋转.有人知道为什么吗?这里是代码:
function rotateImage($direction, $id, $angle) {
$dir = opendir($direction);
if ($img = imagecreatefromjpeg($_SESSION['files'][$id]['large'])) {
$width = imagesx ( $img );
$height = imagesy ( $img );
$rotate = imagerotate($img, $angle, 0);
imagejpeg($rotate, $_SESSION['files'][$id]['large'], 100);
}
else {
echo '<p>Error: image cannot be rotated</p>';
}
closedir($dir);
}
Run Code Online (Sandbox Code Playgroud) 我正在寻找浏览器特定CSS的参考.
所有以-moz,-webkit,-o,-khtml开头的东西
例如,在这个问题中,该人用所有
浏览器的所有用户选择代码回答,但他怎么知道Opera有这个选项?
我找不到那些文档.
我的一个页面上有一个隐藏的输入,隐藏的,我的意思是可见的,但看起来像纯文本.
以http://jsfiddle.net/imoda/nVhp8/为例
但我不希望用户能够点击它并编辑信息.基本上禁用它,但没有disabled在html中设置它.我想我很接近但是我尝试过的任何东西都不起作用.
似乎除了Opera之外的所有东西都可以工作.请帮忙?
在chrome中我有这个CSS:
input::-webkit-input-placeholder{color:blue;}
input:-moz-placeholder{color:blue;}
Run Code Online (Sandbox Code Playgroud)
最后将其优化为:
input::-webkit-input-placeholder, input:-moz-placeholder{color:blue;}
Run Code Online (Sandbox Code Playgroud)
占位符消失了!为什么会发生这种情况 - 某种错误或什么?
另一个问题是Opera: document.createElement('input')中的'placeholder'返回true.所以这意味着它可用.但它没有表现出来.
输入的其余CSS(如果需要):
input[type=text]{
color: blue;
height: 24px; width: 75px;
padding-left: 24px;
outline: none;
background-color: #ABABAB;
background-image: url('searchtool-1.png');
background-repeat: no-repeat;
-webkit-border-bottom-right-radius: 6px;
-webkit-border-bottom-left-radius: 6px;
-moz-border-radius-bottomright: 6px;
-moz-border-radius-bottomleft: 6px;
border-bottom-right-radius: 6px;
border-bottom-left-radius: 6px;
}
Run Code Online (Sandbox Code Playgroud)
编辑:演示
我正在尝试在Javascript中创建一个小型自动化脚本,我想使用Opera的用户脚本功能运行一个站点,以定义要运行的外部脚本.我之前使用过这个功能来运行我用外部网站编写的脚本,效果很好.
我需要等到页面加载脚本才能运行,但我似乎无法让它工作.目前的代码是:
if (addEventListener in document) { // use W3C standard method
document.addEventListener('load', meerfirst(), false);
} else { // fall back to traditional method
document.onload = meerfirst();
}
function meerfirst(){
nameForm = document.forms['aspnetForm'];
nameForm.elements('ctl00$CPH1$NewQuoteView$TitlesView$DropDownListTitles').value = 'MR:TRUE:MR';
nameForm.elements('ctl00$CPH1$NewQuoteView$TextBoxFirstName').value = 'James';
}
Run Code Online (Sandbox Code Playgroud)
这是我自己的函数,添加了通过另一个问题找到的if语句.我也试过window.onload,但它仍然无法正常工作.
奇怪的是Opera根本就没有真正执行脚本,好像我在if语句上设置了一个断点,它从来没有实际打破它.该网站是否内置了反用户脚本功能?或者有可能我做错了什么来阻止这个执行?
我在使用我的Opera扩展连接到java应用程序时遇到问题我已经在chrome中使用了这个扩展.
这是popup.html中javascritp中的代码
function AtribuirID(){
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var texto = xmlhttp.responseText;
var splitagem=texto.split("(user)");
localStorage.setItem('ID',splitagem[0]);
localStorage.setItem('Auxiliar',splitagem[1]);
}
}
xmlhttp.open("GET","http://localhost:10002?z=AtribuirID",true);
xmlhttp.send();
}
Run Code Online (Sandbox Code Playgroud)
问题是我收到错误未捕获异常:DOMException:xmlhttp.send()中的NETWORK_ERR,我无法访问我的应用程序在java中,假设是服务器部分.我已经将network ="public private"放在config.xml中,但它没有用
我正在使用HTML5制作视频播放器,但并非所有浏览器都支持MP4的视频格式,而且我迟到的技能或硬件制作的东西会将视频格式转换为不同的视频格式.那么有没有办法检测用户的浏览器是Opera还是firefox 21?