我想知道是否有一个Eclipse的插件可以执行一些java表达式?
例如,我想找到SimpleDateFormat的正确模式,我可以创建新的类,然后我在其中初始化几个格式化程序,在编译和执行后,我将看到一个结果,但我希望能够在这个插件中编写那些格式化程序在没有新类的情况下查看并查看执行后的结果.
谢谢
这有效:
HTML
<a href="/search/querystring">query</a>
Run Code Online (Sandbox Code Playgroud)
htaccess的
RewriteRule ^search/([-0-9a-z]+)$ /search.php?q=$1 [L]
Run Code Online (Sandbox Code Playgroud)
浏览搜索表单:
<form method="get" action="/search">
<input type="search" name="q" value="querystring" />
<input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
这是否可以使用htaccess或者我是否需要在search.php中使用PHP重定向?
示例所需的结果:http://twitter.com/search/hello
编辑
我不喜欢依赖JavaScript来执行此操作,因此搜索引擎和禁用JavaScript的人也会看到这一点.
鉴于此代码:
<button id="blah" onclick="alert(id)">Click me</button>
Run Code Online (Sandbox Code Playgroud)
单击该按钮将发出"blah"警告.为什么id属性成为onclick处理程序范围内可见的变量?
另一个例子:
<button style="font-size:200%" onclick="console.log(style)">Click me</button>
Run Code Online (Sandbox Code Playgroud)
这里我们看到style引用一个CSSStyleDeclaration对象,而不是属性的字符串值.这类似于我们通过引用button元素attributes属性的索引或通过属性属性this.style(getAttribute将返回字符串值)来获得的内容.
指定了这种行为在哪里?
我想测试CustomEvent构造函数是否受支持.
var ev;
if (/* CustomEvent constructor supported? */) {
ev = new CustomEvent('splat');
} else {
ev = document.createEvent('Event');
ev.initEvent('splat');
}
this.dispatchEvent(ev);
Run Code Online (Sandbox Code Playgroud)
我没有任何运行IE的机器来测试它.它是否会抛出错误,因此我可以使用try/catch,还是需要执行其他操作?那些旧的非IE浏览器怎么样?
概观
大约2009年底,我写了一个简单的模板系统,在内部我们的设计师手册洁具型网站使用PHP/HTML.该系统的目标是通过PHP处理的自定义标记允许模板化其他纯HTML.例如,模板化页面可能如下所示:
<tt:Page template="templates/main.html">
<tt:Content name="leftColumn">
<p> blah blah </p>
...
</tt:Content>
<tt:Content name="rightColumn">
<p> blah blah </p>
...
</tt:Content>
</tt:Page>
Run Code Online (Sandbox Code Playgroud)
模板本身可能如下所示:
<html>
<head>...</head>
<body>
<div style="float:left; width:45%">
<tt:Container name="leftColumn" />
</div>
<div style="width:45%">
<tt:Container name="rightColumn" />
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
除了Page和Content/Container标签之外,核心中还包含一些其他标签,用于流控制,迭代集合,输出动态值等.框架的设计使得添加自己的一套很容易.标记在另一个前缀和命名空间下注册
自定义标签到PHP
我们如何解析这些自定义标签?由于无法保证HTML文件是格式良好的XML,因此XSLT/XPATH等解决方案将不可靠.相反,我们使用正则表达式来查找带有已注册前缀的标记,并用PHP代码替换它们.PHP代码是一个基于堆栈的设计...在遇到一个开始标记,表示创建该标记的物体压入堆栈,和它的"初始化函数"(如果有的话)延伸.每当遇到已注册的结束标记时,最新的对象将从堆栈中弹出,并且其"呈现函数"将运行.
因此,该框架替换PHP模板标签后,我们的示例页面看起来像这样(在房地产这有点丑陋):
<?php $tags->push('tt', 'Page', array('template'=>'templates/main.html')); ?>
<?php $tags->push('tt', 'Content', array('name'=>'leftColumn')); ?>
<p> blah blah </p>
...
<?php $tags->pop(); ?>
<?php $tags->push('tt', 'Content', array('name'=>'rightColumn')); ?>
<p> blah blah </p>
...
<?php $tags->pop(); ?>
<?php $tags->pop(); ?>
Run Code Online (Sandbox Code Playgroud)
好的,坏的,和 eval …
我有类似这样的HTML结构:
<form name="myvalue" id="hello">
<input type="text" name="name" />
</form>
Run Code Online (Sandbox Code Playgroud)
我想通过跨浏览器解决方案在Javascript中检索表单的name属性.
明显,
document.getElementById("hello").name
Run Code Online (Sandbox Code Playgroud)
将无法工作,因为它将返回相应的输入对象.
在chrome下,以下代码可以正常工作,但我没有成功找到Internet Explorer 8的等效代码
document.getElementById("hello").getAttribute("name")
Run Code Online (Sandbox Code Playgroud)
提前致谢 !
弗雷德里克
ECMA-262 5.1小节10.4.2和10.4.2.1涉及"呼叫上下文".这似乎没有在文档中的任何其他地方描述.
引用规范,强调我的:
10.4.2输入Eval代码
当控件进入eval代码的执行上下文时,执行以下步骤:
- 如果没有调用上下文或者eval代码没有通过直接调用(15.1.2.1.1)评估到eval函数那么,
10.4.2.1严格模式限制
如果调用上下文的代码或eval代码是严格代码,则eval代码无法在调用eval 的调用上下文的变量环境中实例化变量或函数绑定.相反,此类绑定在新的VariableEnvironment中实例化,该新的VariableEnvironment只能由eval代码访问.
在这些段落中,"呼叫语境"是什么意思?我认为它指的是在调用之前的堆栈顶部的执行上下文eval ; 谁能验证这个?
拥有"没有呼叫背景?"是什么意思?有人可以提供一个代码或条件的例子,可能导致调用eval没有调用上下文?
更新标题以更好地反映我正在尝试做的事情.
简而言之,不同的dom元素有不同的构造函数,它们似乎并不共享一个共同的原型.我正在寻找一种通过修改这些原型为每个DOM元素添加一个函数属性的方法,但我不知道如何找到它们.
例如,我可以这样做:
function enhanceDom (tagNames, methods) {
var i=-1, tagName;
while (tagName=tagNames[++i]) {
var tag=document.createElement(tagName);
if (!(tag && tag.constructor)) continue;
for (var methodName in methods) {
tag.constructor.prototype[methodName]=methods[methodName];
}
}
}
var thingsToEnhance = ['a','abbr','acronym','address'/* on and on... */];
enhance(thingsToEnhance, {
doStuff : function(){
/* ... */
},
doOtherStuff : function(){
/* ... */
}
/* ... */
});
Run Code Online (Sandbox Code Playgroud)
当然,我想在没有列出每个单独的html元素的情况下这样做.谁能想到更好的方法?
(原始问题如下)
目标-使getElementsByClassName任何一种浏览器的DOM节点上的工作.
它已经完成了(有点),但这是我的镜头.
我的问题是,有一个很好的方法来使用动态创建的元素吗?似乎HTML DOM元素没有共享getElementsByClassName可以添加的常见可预测原型......或者我错过了什么?
这是我到目前为止所做的(编辑 - 每次讨论更新).
(function(){
var fn = 'getElementsByClassName'; …Run Code Online (Sandbox Code Playgroud) 我正在研究一个新项目的概念,我需要支持多语言URL.理想情况下,所有URL都需要使用用户的本地语言.因此,我们不想使用domain.com/en/contact和domain.com/es/contact,但我们喜欢domain.com/contact和domain.com/contactar(contactar是西班牙语以便联系).在内部,两者都应该路由到同一个ContactController类.
这可以通过为每种语言添加到Global.asax.cs的多个静态路由来处理,但我们希望使其非常动态,并希望系统用户能够通过内容管理更改URL的转换系统.所以我们需要从URL到控制器和动作的某种动态映射.
通过查看MVC3的源代码,我发现MvcHandler的ProcessRequestInit方法负责确定要创建哪个控制器.它只是在RouteData中查找控制器的名称.覆盖默认MVC路由的一种方法是创建使用自定义RouteHandler的简单默认路由.此RouteHandler强制MVC使用我自己的自定义子类MvcHandler,它会覆盖ProcessRequestInit方法.在重新调用原始ProcessRequestInit之前,此重写方法将我自己动态找到的控制器和操作插入到RouteData中.
我试过这个:
的Global.asax.cs
routes.Add(
new Route("{*url}", new MultilingualRouteHandler())
{
Defaults = new RouteValueDictionary(new { controller = "Default", action = "Default" })
}
);
Run Code Online (Sandbox Code Playgroud)
MultilingualRouteHandler.cs
public class MultilingualRouteHandler : IRouteHandler
{
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
return new MultilingualMVCHandler(requestContext);
}
}
Run Code Online (Sandbox Code Playgroud)
MultilingualMvcHandler.cs
public class MultilingualMVCHandler : MvcHandler
{
public MultilingualMVCHandler(RequestContext context) …Run Code Online (Sandbox Code Playgroud) 我遇到了问题.我有10个URL的列表.我需要计算页面加载时间.
我目前正在使用curl来获取页面加载时间:
时间卷曲www.growingcraft.com
第二种方法:
wget www.growingcraft.com
问题是,这给了我下载页面所需的时间,但是:
有没有其他方法可以在Linux中计算页面加载时间更有效/准确?
javascript ×5
html ×2
php ×2
.htaccess ×1
asp.net-mvc ×1
attributes ×1
clean-urls ×1
curl ×1
custom-tags ×1
dom ×1
eclipse ×1
ecma262 ×1
eval ×1
forms ×1
java ×1
linux ×1
pageload ×1
search ×1
time ×1