设置元素的innerHTML与在元素上设置dangerouslySetInnerHTML属性有什么"幕后"的区别吗?假设我为了简单起见正确地清理了东西.
例:
var test = React.createClass({
render: function(){
return (
<div contentEditable='true' dangerouslySetInnerHTML={{ __html: "Hello" }}></div>
);
}
});
Run Code Online (Sandbox Code Playgroud)
VS
var test = React.createClass({
componentDidUpdate: function(prevProp, prevState){
this.refs.test.innerHTML = "Hello";
},
render: function(){
return (
<div contentEditable='true' ref='test'></div>
);
}
});
Run Code Online (Sandbox Code Playgroud)
我做的事情比上面的例子复杂一点,但总的想法是一样的
我们有一个利用facebook javascript sdk和登录功能的应用程序.
我们一直注意到生产日志中出现了这个错误.特别适用于版本为10.3及更高版本的iOS设备.似乎也只是针对safari浏览器
SecurityError(DOM Exception 18):阻止具有源" https://www.mymadeupsite.com "的帧访问具有源" https://staticxx.facebook.com " 的帧.被访问的帧将"document.domain"设置为"facebook.com",但请求访问的帧没有.两者都必须将"document.domain"设置为相同的值才能允许访问.
这是我们的init函数:
init: function(options) {
var facebookUrl, scriptInclude;
Facebook.baseHost = options.baseHost;
if (typeof FB !== "undefined" && FB !== null) {
return Facebook.setup();
} else {
if (options.appId == null) {
throw 'Facebook: cannot init without appId';
}
window.fbAsyncInit = function() {
FB.init({
appId: options.appId,
version : 'v2.3',
channelUrl: options.channelUrl || ("" + document.location.protocol + "//" + document.location.host + "/channel.html"),
status: true,
cookie: false,
xfbml: false,
oauth: true
}); …
Run Code Online (Sandbox Code Playgroud) javascript facebook cross-domain ios facebook-javascript-sdk
如果我想从默认属性适配器切换到json api适配器,我会在哪里这样做?
入门指出:
一般来说,作为AMS的用户,您将编写(或生成)这些序列化程序类.如果要使用其他适配器(例如JsonApi),可以在初始化程序中更改它:
ActiveModel::Serializer.config.adapter = :json_api
Run Code Online (Sandbox Code Playgroud)
他们指的是什么初始化器?我要创建一个新的吗?抱歉,这个菜鸟问题
ruby json ruby-on-rails active-model-serializers ruby-on-rails-4
我有一个简单的用例:
用户有许多推文Tweet属于User
我正在尝试采用两个表中存在的列名.例如:
@tweets = Tweet.includes(:user).all.pluck(:created_at)
Run Code Online (Sandbox Code Playgroud)
每个表都有一个created_at列,但上面的结果返回tweet的created_at.我怎样才能拔出用户的created_at?
我的解决方法是在下面使用连接并选择:
@tweets = Tweet.joins(:user).select("users.created_at AS created_date").all
Run Code Online (Sandbox Code Playgroud)
那么我怎么能通过使用pluck来做到这一点?
我正在使用Angular-drag-and-drop-lists.在Windows 8上使用IE 11时,我注意到以下错误:
这在Chrome中运行良好,在IE和Chrome中尝试以下演示:http: //marceljuenemann.github.io/angular-drag-and-drop-lists/demo/#/types
有人知道官方修复或解决方法吗?
我正在使用rails-html-sanitizer,我目前正在将样式属性列入白名单.但是,我只想允许某些样式列入白名单.
是否可以指定允许哪些样式?例如,允许以下内容:
style="text-align: center;"
Run Code Online (Sandbox Code Playgroud)
在文档中,我看到以下内容,但我认为它与我正在尝试的相反: white_list_sanitizer.sanitize_css('background-color: #000;')
如果我不能将某些样式列入白名单,我的下一个选择是将样式附加到某些类.
以下有什么区别?
我想弄清楚的是使用数据库清理程序清理我的测试中的before(:all)钩子(性能明智)的最佳方法是什么.我之前的(:all)钩子只是创建了大量的工厂并在它们之间创建了一些关联.目前,我只是将它们全部加载到之前(:每个),不必担心之后的清理.
我目前的策略如下:
RSpec.configure do |config|
config.use_transactional_fixtures = false
config.before(:suite) do
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do |example|
DatabaseCleaner.strategy = example.metadata[:js] ? :truncation : :transaction
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
Run Code Online (Sandbox Code Playgroud)
所以除了我之前的问题,我的追求(:all)应该是什么样的?
javascript ×3
html ×2
activerecord ×1
angularjs ×1
capybara ×1
cross-domain ×1
css ×1
facebook ×1
ios ×1
json ×1
reactjs ×1
rspec ×1
ruby ×1
sanitization ×1