当我用Wordpress中的以下javascript动态设置iframe的src时:
jQuery(document).ready(function(){
jQuery('iframe').attr('src', 'http://someurl.com/?originid=PORTAL&tijdsblokstart=1700&datum=2014-05-19');
});
最后2个参数未被提取。我知道这和符号的编码有关,但我什么都试过了.我现在迷路了。
- &
- &
- &
- creating the whole iframe in jQuery
必须动态设置src。
谢谢!
发布于 2014-05-01 10:03:22
我通过在外部js文件中创建一个函数来解决我的问题,该函数为我生成url。因此,避免在Wordpress编辑器中使用符号。如果有人想出更好的解决方案,我很想听听。Javascript
发布于 2015-09-24 17:28:30
这里有一个对我有用的解决办法:
char = '&';
char = char.replace('amp;', '');
console.log(char);
发布于 2022-11-25 14:46:04
如果您的问题发生在post内容中,则没有通用的解决方案。
实际上,&
被&
替换为来自wp-includes\formatting.php
的wptexturize
函数。
// Replace each & with & unless it already looks like an entity.
$curl = preg_replace( '/&(?!#(?:\d+|x[a-f0-9]+);|[a-z1-4]{1,8};)/i', '&', $curl );
它连接到文件wp-includes\default-filters.php
中的wp-includes\default-filters.php
过滤器:
add_filter( 'the_excerpt', 'wptexturize' );
问题是,您可以删除这个过滤器,但是您会丢失大量由这个巨大的wptexturize
函数完成的格式化。
,op的一种解决方案是找到一种从代码中删除符号的方法。为此,可以使用jQuery.param
生成url的querystring部分:
jQuery(document).ready(function(){
jQuery('iframe').attr('src', 'http://someurl.com/?' + jQuery.param({originid: 'PORTAL', tijdsblokstart: 1700, datum: '2014-05-19'}));
});
一个真正的脏解决方案是:
wptexturize
1之前注册要执行的筛选器,它会将您的符号更改为wptexturize
函数不会更改的真正唯一的内容。wptexturize
1之后执行的筛选器,这会将您的资产和资产更改为真正的资产。https://stackoverflow.com/questions/23405022
复制相似问题