我遇到了一个奇怪的情况.我正在编写一个JavaScript书签,允许用户轻松快速地点击并共享外部网站到我们的网站.它只是得到标题,页面URL,如果他们在页面上选择了任何文本,它也会抓取它.
问题是它由于某种原因无法与外部域一起使用,因此如果我们在内部使用它,我们最终会得到一个共享窗口,其URL格式如下:
http://internaldomain.com/sharetool.php?shareid=http://internaldomain.com/anotheroddpage.html&title= ....
这工作正常,但如果我们尝试使用外部域并最终得到如下格式的URL:
然后我们在页面上出现Forbidden Error并且无法加载...如果我们手动删除http://
外部域地址,它会再次加载.
所以..我认为解决这个问题的最佳解决方案是修改JavaScript书签以删除http
它正在加载窗口.以下是我当前的bookmarklet的外观:
javascript:var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='http://internaldomain.com/sharetool.php',l=d.location,e=encodeURIComponent,u=f+'?u='+e(l.href)+
Run Code Online (Sandbox Code Playgroud)
如您所见,e(l.href)
是传递URL的位置.
如何修改它以删除外部域http://
?
我一直在寻找这个问题的答案,我发现的所有答案都不是用JavaScript编写的.
我需要一种方法,在javascript中,检查字符串是否以http,https或ftp开头.如果它不以其中一个开头,我需要在前面添加字符串http://
.indexOf对我不起作用我不认为我需要http,https或ftp.此外,我不希望google.com/?q=http://google.com
触发它有效,因为它不以http开头,而indexOf会触发它为真(如果我没有完全弄错).
我发现的最接近的PHP正则表达式是这样的:
function addhttp($url) {
if (!preg_match("~^(?:f|ht)tps?://~i", $url)) {
$url = "http://" . $url;
}
return $url;
}
Run Code Online (Sandbox Code Playgroud)
我只是不知道如何将其转换为javascript.任何帮助将不胜感激.
我已经按照本教程:http://golang.org/doc/articles/wiki/final.go并根据我的需要稍微修改了它.问题是我想在模板中支持HTML.我意识到这是一个安全风险,但目前并不是一个问题.
页面呈现的结果:
<h1>this<strong>is</strong>a test</h1>
Run Code Online (Sandbox Code Playgroud)
让我解释一下代码:
type Page struct {
Title string
Body []byte
}
Run Code Online (Sandbox Code Playgroud)
我想要存储HTML的数据存储在Page.Body
.这是类型[]byte
,这意味着我不能(或我可以?)运行,html/template.HTML(Page.Body)
因为该函数需要一个字符串.
我有这个预呈现模板:
var (
templates = template.Must(template.ParseFiles("tmpl/edit.html", "tmpl/view.html"))
)
Run Code Online (Sandbox Code Playgroud)
而实际ExecuteTemplate
看起来像这样:
err := templates.ExecuteTemplate(w, tmpl+".html", p)
Run Code Online (Sandbox Code Playgroud)
其中w是w http.ResponseWriter
,tmpl是tmpl string
,而p是p *Page
最后我的'view.html'
(模板)如下所示:
<h1>{{.Title}}</h1>
<p>[<a href="/edit/{{.Title}}">edit</a>]</p>
<div>{{printf "%s" .Body}}</div>
Run Code Online (Sandbox Code Playgroud)
我尝试过的事情:
{{printf "%s" .Body | html}}
什么都不做 github.com/russross/blackfriday
(Markdown处理器)并运行p.Body = blackfriday.MarkdownCommon(p.Body)
了正确将Markdown转换为HTML,但HTML仍然作为实体输出.编辑:我尝试了下面的代码(我不知道为什么格式混乱),它仍然输出完全相同.
var s template.HTML
s = …
我不确定发生了什么,但我的〜/ .profile不再加载了.
以下任何人都可以看到错误吗?
export PS1="\u@local [\w]# "
export EDITOR="subl -w"
export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
alias vst="ssh -i ~/.ssh/vst root@vst"
Run Code Online (Sandbox Code Playgroud)
我知道使用PS1这样的事实,就像我试图做的那样应该这样做,Peter@local [~/path/to/file]#
但事实并非如此.
有任何想法吗?
我有一个页面上有一个按钮.当用户单击按钮时,它会动态呈现一个表单(即它不仅仅显示一个隐藏的表单......它完全使用jQuery创建它).
我的问题是新创建的表单不响应任何jQuery命令.这是我目前渲染表单的代码.
$("#savenewlang").click(function(e) {
console.log("savenewlang has been clicked");
});
Run Code Online (Sandbox Code Playgroud)
因此,当他们点击提交按钮但它没有运行时,它应该只是console.log.
知道如何重新加载DOM或分配正确触发的实际事件吗?
我正在尝试找到一种方法,我可以编写一个bash脚本,每隔午夜从我们的私有Github存储库自动提取并更新我们的开发站点.
由于显而易见的原因,我们的回购是私有的,我发现的任何接近的东西总是要求密码.我们的服务器有它自己的Github帐户,它用于从存储库推送和拉取,但我只是不知道如何自动执行此操作.
谁能指出我正确的方向?
我无法想象我的生活.
我有一个查询,可以在页面上提取元素的翻译.因此,该页面上可以显示任意数量的15种语言.当我开始添加瑞典语等任何具有符号的语言时,例如ö
整个字段中的结果返回一个空字符串.
我已经验证了桌面上的编码,它声称它正在使用,UTF-8
但看到这不起作用我很困惑.
这是我正在使用的查询:
SELECT
form.form_id,
elem.elem_type,
elem.elem_name,
elem.elem_format,
elem.elem_required,
trans.trans_label,`
trans.trans_description,
trans.trans_defaultValue,
trans.trans_other,
elem.elem_advancedcommand
FROM
events_form form
LEFT JOIN
events_form_elements elem
ON
form.event_id = elem.event_id
INNER JOIN
events_form_translations trans
ON
elem.elem_id = trans.elem_id
INNER JOIN
events_form_languages lang
ON
trans.lang_id = lang.lang_id
WHERE
form.form_id = '{$formid}' AND lang.language = '{$language}'
ORDER BY
elem.elem_sortorder
Run Code Online (Sandbox Code Playgroud)
现在我尝试做类似的事情:
CONVERT(CAST(trans.trans_description as BINARY) USING latin1) as trans_description,
强制它转换编码,但根本不会产生结果.
在我得到结果后,它立即被json_encoded并返回给用户(Ajax请求).我不认为这是json_encode,因为做一个print_r
输出数组会产生同样的问题.
另外..最后,我正在构建的系统是使用xPDO所以我不太确定这是否也是问题.
编辑:似乎PHP正在返回一个正确的值或至少一个值,例如这里是一个print_r
转储:
[trans_label] => Ditt f?rnamn?
[trans_description] =>
[trans_defaultValue] …
Run Code Online (Sandbox Code Playgroud) 我正在Go中开发一个API服务器,服务器(目前)处理客户端的所有翻译.当API客户端获取特定数据时,它还会询问给定部分可用的转换.
理想情况下,我想拥有以下文件夹结构:
/messages
/home.en
/home.fr
/home.sv
/news.en
/news.fr
/news.sv
Run Code Online (Sandbox Code Playgroud)
凡news
和home
是不同的模块.
现在我对Revel的问题是,是否可以获取给定模块和给定语言环境的所有语言字符串?例如,为en-US拉出所有主页字符串.
编辑:
我想输出(我可以返回给客户端)一个键:翻译的值字符串.
任何指导将不胜感激.
我有一个虚拟机实例,带有一个运行 CentOS 7 的小型 10GB 启动磁盘,并且想要安装一个更大的 200GB 持久磁盘来包含与以前的专用服务器中的 /home 目录相关的数据(可能通过 scp)。\n以下是我的尝试:
\n\n尝试#1,符号链接可能有效,但有一些问题。
\n\n尝试#2,安装到 /home。\n为了寻找与 ftp、scp 等一起使用的更“自然”的配置,我将磁盘安装在 /home/example_account 中
\n\n$ sudo mkdir -p /home/example_account\n$ sudo mount -o discard,defaults /dev/sdc /home/example_account\n$ sudo chmod a+w /home/example_account\n#set the UUID for mounting at startup\n$ sudo blkid /dev/sdc\n$ sudo nano /etc/fstab\n$ lsblk\nNAME MAJ:MIN RM …
Run Code Online (Sandbox Code Playgroud) 我正在使用一个两次调用同一个类并抛出错误的脚本:
Fatal: Cannot redeclare class urlConverter (/var/www/core/cache/includes/elements/modsnippet/23.include.cache.php:14)
Run Code Online (Sandbox Code Playgroud)
我尝试将以下代码放入:
if( !class_exists( 'urlConverter', false ) )
{
$urlConverter = new urlConverter( $modx );
}
Run Code Online (Sandbox Code Playgroud)
但是,我正在使用的CMS正在报告错误500并且无法在日志中看到它为什么会抛出该错误.
有谁知道如何检查该类是否已被正确声明?
编辑:
我正在使用CMS,因此Class被放在一个Snippet而不是实际文件中.这就是他们称之为片段的方式:
$data['viewonlinelink'] = $this->modx->runSnippet( 'urlConverter', array(
'action' => 'encrypt',
'string' => http_build_query( $string ) ) );
Run Code Online (Sandbox Code Playgroud)
我需要第二次打电话来获得不同的结果.
EDIT2:
这是urlConverter:
<?php
class urlConverter {
public $modx;
public function __construct( modX &$modx )
{
$this->modx =& $modx;
}
public function action( $scriptProperties )
{
return $this->$scriptProperties['action']( $scriptProperties['string'] );
}
private function encrypt( $str )
{
return $str; …
Run Code Online (Sandbox Code Playgroud)