以上就是给各位分享javascript–重复PinterestFacebook邀请功能,同时本文还将给你拓展asp.net–异步加载FacebookJavascriptSDK、asp.net-mvc–
以上就是给各位分享javascript – 重复Pinterest Facebook邀请功能,同时本文还将给你拓展asp.net – 异步加载Facebook Javascript SDK、asp.net-mvc – Facebook Javascript登录示例、com.facebook.react.bridge.JavaScriptExecutor的实例源码、com.facebook.react.bridge.JavaScriptModuleRegistry的实例源码等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:- javascript – 重复Pinterest Facebook邀请功能
- asp.net – 异步加载Facebook Javascript SDK
- asp.net-mvc – Facebook Javascript登录示例
- com.facebook.react.bridge.JavaScriptExecutor的实例源码
- com.facebook.react.bridge.JavaScriptModuleRegistry的实例源码
javascript – 重复Pinterest Facebook邀请功能
这里的重点是1)有多个收件人和2)您可以键入自定义邮件.
到目前为止,通过Facebook API,我只找到了向单个用户发送自定义消息或向多个用户发送预先预制消息的方法.我还没有找到向多个用户发送自定义消息的方法.
以下是允许您向一个用户发送自定义消息的内容:https://developers.facebook.com/docs/reference/dialogs/send/
以下是允许您向多个用户发送预先预制消息的内容:
https://developers.facebook.com/docs/reference/dialogs/requests/
那么他们是怎么做到的呢?如何允许我的用户向Pinterest正在进行的多个收件人发送自定义消息?
解决方法
有关Facebook的完整官方回复,请参阅https://developers.facebook.com/bugs/314701778595814(以及开发人员的沮丧回应).
asp.net – 异步加载Facebook Javascript SDK
在我的ASCX文件中:
<div id="fb-root"></div>
我有一个包含javascript文件的用户控件:
window.fbAsyncInit = function () { FB.init({ appId: 'XXXXXXXXXXXXX',status: true,cookie: true,xfbml: true,oauth: true }); }; (function () { var e = document.createElement('script'); e.type = 'text/javascript'; e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; e.async = true; document.getElementById('fb-root').appendChild(e); } ());
但是,当页面呈现并加载时,FB不存在.
是什么赋予了?
解决方法
如果从fbAsyncInit回调中运行代码不是您想要的,您可以考虑两种替代方法:
选项1
加载SDK synchronousy:
<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
通过这样做,FB甚至在文档开始渲染之前就会存在.
选项2
检查SDK是否已经加载,并在没有时提供回退解决方案.
if (window.FB) { // use FB here .. } else { // still loading,tell user to wait one more second }
asp.net-mvc – Facebook Javascript登录示例
我想在连接到网站时将用户添加到我的数据库,以便我可以在网站上保存他们的帖子.问题是我无法设法正确登录/注销系统.我尝试过C#sdk和 Javascript SDK.我还阅读了一些我在网上发现的示例代码,但没有用……
谁能为我提供mvc 3 / javascript登录/注销系统?非常感谢!
解决方法
com.facebook.react.bridge.JavaScriptExecutor的实例源码
private void recreateReactContextInBackground( JavaScriptExecutor.Factory jsExecutorFactory,JSBundleLoader jsBundleLoader) { UiThreadUtil.assertOnUiThread(); ReactContextinitParams initParams = new ReactContextinitParams(jsExecutorFactory,jsBundleLoader); if (mReactContextinitAsyncTask == null) { // No background task to create react context is currently running,create and execute one. mReactContextinitAsyncTask = new ReactContextinitAsyncTask(); mReactContextinitAsyncTask.execute(initParams); } else { // Background task is currently running,queue up most recent init params to recreate context // once task completes. mPendingReactContextinitParams = initParams; } }
private void recreateReactContextInBackground( JavaScriptExecutor.Factory jsExecutorFactory,queue up most recent init params to recreate context // once task completes. mPendingReactContextinitParams = initParams; } }
private void recreateReactContextInBackground( JavaScriptExecutor.Factory jsExecutorFactory,queue up most recent init params to recreate context // once task completes. mPendingReactContextinitParams = initParams; } }
@Override protected Result<ReactApplicationContext> doInBackground(ReactContextinitParams... params) { Assertions.assertCondition(params != null && params.length > 0 && params[0] != null); try { JavaScriptExecutor jsExecutor = params[0].getJsExecutorFactory().create( mJSCConfig == null ? new WritableNativeMap() : mJSCConfig.getConfigMap()); return Result.of(createReactContext(jsExecutor,params[0].getJsBundleLoader())); } catch (Exception e) { // Pass exception to onPostExecute() so it can be handled on the main thread return Result.of(e); } }
@Override protected Result<ReactApplicationContext> doInBackground(ReactContextinitParams... params) { Assertions.assertCondition(params != null && params.length > 0 && params[0] != null); try { JavaScriptExecutor jsExecutor = params[0].getJsExecutorFactory().create( mJSCConfig == null ? new WritableNativeMap() : mJSCConfig.getConfigMap()); return Result.of(createReactContext(jsExecutor,params[0].getJsBundleLoader())); } catch (Exception e) { // Pass exception to onPostExecute() so it can be handled on the main thread return Result.of(e); } }
@Override protected Result<ReactApplicationContext> doInBackground(ReactContextinitParams... params) { Assertions.assertCondition(params != null && params.length > 0 && params[0] != null); try { JavaScriptExecutor jsExecutor = params[0].getJsExecutorFactory().create( mJSCConfig == null ? new WritableNativeMap() : mJSCConfig.getConfigMap()); return Result.of(createReactContext(jsExecutor,params[0].getJsBundleLoader())); } catch (Exception e) { // Pass exception to onPostExecute() so it can be handled on the main thread return Result.of(e); } }
public ReactContextinitParams( JavaScriptExecutor.Factory jsExecutorFactory,JSBundleLoader jsBundleLoader) { mJsExecutorFactory = Assertions.assertNotNull(jsExecutorFactory); mJsBundleLoader = Assertions.assertNotNull(jsBundleLoader); }
public JavaScriptExecutor.Factory getJsExecutorFactory() { return mJsExecutorFactory; }
public ReactContextinitParams( JavaScriptExecutor.Factory jsExecutorFactory,JSBundleLoader jsBundleLoader) { mJsExecutorFactory = Assertions.assertNotNull(jsExecutorFactory); mJsBundleLoader = Assertions.assertNotNull(jsBundleLoader); }
public JavaScriptExecutor.Factory getJsExecutorFactory() { return mJsExecutorFactory; }
public ReactContextinitParams( JavaScriptExecutor.Factory jsExecutorFactory,JSBundleLoader jsBundleLoader) { mJsExecutorFactory = Assertions.assertNotNull(jsExecutorFactory); mJsBundleLoader = Assertions.assertNotNull(jsBundleLoader); }
public JavaScriptExecutor.Factory getJsExecutorFactory() { return mJsExecutorFactory; }
com.facebook.react.bridge.JavaScriptModuleRegistry的实例源码
private void processpackage( ReactPackage reactPackage,NativeModuleRegistryBuilder nativeModuleRegistryBuilder,JavaScriptModuleRegistry.Builder jsModulesBuilder) { SystraceMessage.beginSection(TRACE_TAG_REACT_JAVA_BRIDGE,"processpackage") .arg("className",reactPackage.getClass().getSimpleName()) .flush(); if (reactPackage instanceof ReactPackageLogger) { ((ReactPackageLogger) reactPackage).startProcesspackage(); } nativeModuleRegistryBuilder.processpackage(reactPackage); for (Class<? extends JavaScriptModule> jsModuleClass : reactPackage.createJSModules()) { jsModulesBuilder.add(jsModuleClass); } if (reactPackage instanceof ReactPackageLogger) { ((ReactPackageLogger) reactPackage).endProcesspackage(); } Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE); }
private CatalystInstanceImpl( final ReactQueueConfigurationSpec ReactQueueConfigurationSpec,final JavaScriptExecutor jsExecutor,final NativeModuleRegistry registry,final JavaScriptModuleRegistry jsModuleRegistry,final JSBundleLoader jsBundleLoader,NativeModuleCallExceptionHandler nativeModuleCallExceptionHandler) { FLog.d(ReactConstants.TAG,"Initializing React Xplat Bridge."); mHybridData = initHybrid(); mReactQueueConfiguration = ReactQueueConfigurationImpl.create( ReactQueueConfigurationSpec,new NativeExceptionHandler()); mBridgeIdleListeners = new copyOnWriteArrayList<>(); mJavaRegistry = registry; mJSModuleRegistry = jsModuleRegistry; mJSBundleLoader = jsBundleLoader; mNativeModuleCallExceptionHandler = nativeModuleCallExceptionHandler; mNativeModulesQueueThread = mReactQueueConfiguration.getNativeModulesQueueThread(); mTraceListener = new JSProfilerTraceListener(this); FLog.d(ReactConstants.TAG,"Initializing React Xplat Bridge before initializeBridge"); initializeBridge( new BridgeCallback(this),jsExecutor,mReactQueueConfiguration.getJSQueueThread(),mNativeModulesQueueThread,mJavaRegistry.getJavaModules(this),mJavaRegistry.getCxxModules()); FLog.d(ReactConstants.TAG,"Initializing React Xplat Bridge after initializeBridge"); mMainExecutorToken = getMainExecutorToken(); }
private CatalystInstanceImpl( final ReactQueueConfigurationSpec ReactQueueConfigurationSpec,NativeModuleCallExceptionHandler nativeModuleCallExceptionHandler) { FLog.w(ReactConstants.TAG,new NativeExceptionHandler()); mBridgeIdleListeners = new copyOnWriteArrayList<>(); mJavaRegistry = registry; mJSModuleRegistry = jsModuleRegistry; mJSBundleLoader = jsBundleLoader; mNativeModuleCallExceptionHandler = nativeModuleCallExceptionHandler; mNativeModulesQueueThread = mReactQueueConfiguration.getNativeModulesQueueThread(); mTraceListener = new JSProfilerTraceListener(this); FLog.w(ReactConstants.TAG,mJavaRegistry.getCxxModules()); FLog.w(ReactConstants.TAG,"Initializing React Xplat Bridge after initializeBridge"); mMainExecutorToken = getMainExecutorToken(); }
private void addJSModules(JavaScriptModuleRegistry.Builder jsModulesBuilder) { for (int i = 0; i < reactPackages.size(); i++) { ReactPackage reactPackage = reactPackages.get(i); for (Class<? extends JavaScriptModule> jsModuleClass : reactPackage.createJSModules()) { jsModulesBuilder.add(jsModuleClass); } } }
private void processpackage( ReactPackage reactPackage,ReactApplicationContext reactContext,List<ModuleSpec> moduleSpecs,Map<Class,ReactModuleInfo> reactModuleInfoMap,reactPackage.getClass().getSimpleName()) .flush(); if (mLazyNativeModulesEnabled && reactPackage instanceof LazyReactPackage) { LazyReactPackage lazyReactPackage = (LazyReactPackage) reactPackage; ReactModuleInfoProvider instance = lazyReactPackage.getReactModuleInfoProvider(); Map<Class,ReactModuleInfo> map = instance.getReactModuleInfos(); if (!map.isEmpty()) { reactModuleInfoMap.putAll(map); } moduleSpecs.addAll(lazyReactPackage.getNativeModules(reactContext)); } else { FLog.d( ReactConstants.TAG,reactPackage.getClass().getSimpleName() + " is not a LazyReactPackage,falling back to old version."); for (NativeModule nativeModule : reactPackage.createNativeModules(reactContext)) { moduleSpecs.add( new ModuleSpec(nativeModule.getClass(),new EagerModuleProvider(nativeModule))); } } for (Class<? extends JavaScriptModule> jsModuleClass : reactPackage.createJSModules()) { jsModulesBuilder.add(jsModuleClass); } Systrace.endSection(TRACE_TAG_REACT_JAVA_BRIDGE); }
private CatalystInstanceImpl( final ReactQueueConfigurationSpec ReactQueueConfigurationSpec,new NativeExceptionHandler()); mBridgeIdleListeners = new copyOnWriteArrayList<>(); mJavaRegistry = registry; mJSModuleRegistry = jsModuleRegistry; mJSBundleLoader = jsBundleLoader; mNativeModuleCallExceptionHandler = nativeModuleCallExceptionHandler; mTraceListener = new JSProfilerTraceListener(this); initializeBridge( new BridgeCallback(this),mReactQueueConfiguration.getNativeModulesQueueThread(),mJavaRegistry.getModuleRegistryHolder(this)); mMainExecutorToken = getMainExecutorToken(); }
public Builder setJSModuleRegistry(JavaScriptModuleRegistry jsModuleRegistry) { mJSModuleRegistry = jsModuleRegistry; return this; }
public Builder setJSModuleRegistry(JavaScriptModuleRegistry jsModuleRegistry) { mJSModuleRegistry = jsModuleRegistry; return this; }
关于javascript – 重复Pinterest Facebook邀请功能的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于asp.net – 异步加载Facebook Javascript SDK、asp.net-mvc – Facebook Javascript登录示例、com.facebook.react.bridge.JavaScriptExecutor的实例源码、com.facebook.react.bridge.JavaScriptModuleRegistry的实例源码等相关知识的信息别忘了在本站进行查找喔。
本文标签: