小编ElB*_*Bel的帖子

BASE HREF,javascript和Internet Explorer vs. Firefox

题:

IE和Firefox/Safari似乎与BASE HREF和Javascript window.location类型请求的处理方式不同.首先,这是对问题的准确描述吗?这是怎么回事?什么是处理这种情况的最佳跨浏览器解决方案?

语境:

我有一个小的PHP平面文件sitelet(它实际上是一个可用性测试原型).

我在PHP中动态生成BASE标签的HREF值,即如果它在我们公司的服务器上运行,它是:

$basehref = 'http://www.example.com/alpha/bravo/UsabilityTest/';
Run Code Online (Sandbox Code Playgroud)

在我的本地开发机器上,它是:

$basehref = 'http://ellen.local/delta/echo/foxtrot/UsabilityTest/';    
Run Code Online (Sandbox Code Playgroud)

对于其中一个任务,我收集一些用户输入,在Javascript中对其进行一些转换,并使用如下代码发送到服务器:

function allDone() {
    // elided code for simplicity of stackoverflow question
    var URI = "ProcessUserInput.php?";
    URI = URI + "alphakeys=" + encodeURI( keys.join(",") );
    URI = URI + "&sortedvalues=" + encodeURI( values.join(",") );
    window.location = URI;
}
Run Code Online (Sandbox Code Playgroud)

javascript文件(包含函数allDone())和处理PHP脚本(ProcessUserInput.php)都位于UsabilityTest的子目录中.换句话说,他们的实际网址是

http://www.example.com/alpha/bravo/UsabilityTest/ foxtrot/ProcessUserInput.php aka

$basehref . '/foxtrot/ProcessUserInput.php'

问题

IE的JavaScript基本上似乎忽略了BASE HREF.javascript和PHP处理器存在于同一目录中,因此对ProcessUserInput.php的调用很好.输入得到处理,一切正常.

但是当我在Firefox上测试时,JavaScript 似乎确实使用了BASE HREF,因为脚本的输出被发送到了

$basehref . '/ProcessUserInput.php'
Run Code Online (Sandbox Code Playgroud)

这会中断,因为ProcessUserInput.php位于basehref的子目录中.但是,如果我将子目录名称添加到javascript中,它将不再适用于IE. …

html javascript href

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

我为什么要使用jQuery?

(我知道其他人问了一个类似的问题,它被关闭为'议论',但我真的很有兴趣理解围绕这个问题的争论.)

我非常了解JavaScript.我已经专业写了多年了.我已经内化了很多跨浏览器的不兼容性和粗略感,知道DOM操作就像我的手背,已经与业内一些最好的Web开发人员合作并获得了很多他们的魔力.

我一直在查看jQuery.我理解javascript库的意义(我写了多少次动画,getElementsByClass和hide/show函数?).但说实话,学习一种并不复杂的全新语法似乎是浪费时间.看起来我正在抨击墙壁来学习一个全新的JavaScript接口.

我在技术上不是工程师,所以也许我错过了什么.有人可以拼出jQuery的权衡吗?学习和理解jQuery语法真的比学习JavaScript更快吗?

javascript jquery

18
推荐指数
3
解决办法
1736
查看次数

CSS - 在webkit/chrome的INPUT或TEXTAREA中设置:: selection的背景颜色?

我正在尝试在我们的网站上设置选择颜色[对于支持此功能的浏览器; 不支持将获得系统默认值; 寻找仅限CSS并且不会为此实现JS].

::选择在常规页面文本上正常工作(在这里省略-moz).但是,我希望:: selection也适用于INPUT和TEXTAREA元素中的选定文本.以下适用于Firefox(https://d3vv6lp55qjaqc.cloudfront.net/items/3f2m2S342i2a2V0z2C2W/Screen%20Shot%202013-08-21%20at%2012.34.54%20PM.png?X-CloudApp-Visitor-Id=695722fcc5cecec10f09e16181dbdf5f&v= c618e057),但不能在WebKit的(Chrome或Safari)工作,在那里我得到了系统默认的淡蓝色(https://d3vv6lp55qjaqc.cloudfront.net/items/1r2l1X1P2V3g031F152A/Screen%20Shot%202013-08-21%20at% 2012.35.29%20 PM.png?X-CloudApp-Visitor-Id = 695722fcc5cecec10f09e16181dbdf5f&v = c886aa70):

::selection { background: #f7a494; }
input::selection {  background: #f7a494; }
Run Code Online (Sandbox Code Playgroud)

我四处寻找-webkit覆盖但未找到相关属性.

css webkit

10
推荐指数
1
解决办法
8302
查看次数

Outlook 2007/2013不呈现CSS字体系列声明

我正在使用Litmus测试电子邮件设计,并且在我的生活中,我无法在Outlook 2007/2010/2013中正确设置我的字体.每个HTML/CSS技巧/黑客继续在Times New Roman中呈现:

`来自Litmus的Outlook 2010截图

我主要使用简单的表格进行布局,因此所有内容最终都在TD元素中.

以下是我尝试设置字体的各种技巧.

我的STYLE声明:在HEAD和BODY标签中都尝试了这个并且都不起作用.

<style>
@font-face {
    font-family: proxima-nova;
    src: url('assets/ProximaNova-Reg.otf');
}
@font-face {
    font-family: proxima-nova-blk;
    src: url('http://assets/ProximaNova-Black.otf');
}
body *, td, p, li {
    font-family: font-family:proxima-nova,'Proxima Nova Regular','Proxima Nova',verdana,sans-serif;
}
</style>
Run Code Online (Sandbox Code Playgroud)

在TD元素上设置CSS STYLE属性:

  <td style="font-family:proxima-nova,'Proxima Nova Regular','Proxima Nova',verdana,sans-serif; color:#FFFFFF; font-weight:300;font-size:18px;">
Run Code Online (Sandbox Code Playgroud)

设置了FACE和STYLE属性的FONT标记:

<font face="proxima-nova,Proxima Nova Regular,Proxima Nova,verdana,sans-serif"  
    style="font-size:28px; 
    font-family:proxima-nova,'Proxima Nova Regular','Proxima Nova',verdana,sans-serif;">
Run Code Online (Sandbox Code Playgroud)

所有内部文本元素(P,LI,A)上的内联CSS STYLE属性:

我完全感到困惑.在所有其他相关客户端,一切都正常工作(即字体渲染,因为我期望给出各种错误和渲染怪异),包括iOS,Gmail,Outlook 2003/Express等:

在此输入图像描述

html-email outlook-2007

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

如何访问或致电"将此表单发送给他人"?

我有一个表单附加到Google Apps电子表格.这是让我的同事向我们的每周评审会议提交议程项目的表格.我正在编写一个脚本来自动通过电子邮件将提醒发送给相关人员.

为了减少烦恼和乏味,我想将表单嵌入电子邮件中.Google文档提供了一种手动发送表单的方法:电子表格>表单>发送表单.但是,我在Google Apps Scripts文档中找不到任何可以触发此功能的方法,例如

  • 像sendFormInEmail这样的方法
  • 访问电子邮件友好表单HTML,我可以将其分配给sendEmail方法的htmlBody参数.
  • 触发Google Apps中的任意菜单项
  • 别的什么?

我可以通过从电子邮件中提取生成的HTML并将其指定为htmlBody参数来做一个解决方法,但是每次我们想要对表单进行更改时我都必须手动更新html - 而不是我想要的发生.

有什么建议?

html email google-sheets google-apps-script google-forms

4
推荐指数
1
解决办法
3850
查看次数

当一个值为空时jinja2字符串比较?

Jinja2 模板代码:

{% if u.user_name == u.user_email %}
 {{ u.user_email }}
{% else %}
 {{ u.user_name }}<br />
 {{ u.user_email }}
{% endif %}
Run Code Online (Sandbox Code Playgroud)

如果没有单独的名称,通常数据源会将 user_name 字段设置为 user_email。但是,有时根本没有为 user_name 字段定义任何内容。

问题在于,在上面的 Jinja2 代码中,如果 user_name 字段未定义/为空,则上面的测试评估为 false 并且两行都被吐出 - 其中之一是空白。

我不确定如何正确编写此测试语法。我已经阅读了文档并尝试了诸如Convert integer to string Jinja比较 jinja2 模板中的两个变量之类的方法。我想我的数据类型有问题,我只是不确定如何编写此语法以使其正常工作。

任何帮助表示赞赏!

jinja2

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